sed命令的正则表达式的问题
-
- 帖子: 43
- 注册时间: 2009-11-07 21:25
sed命令的正则表达式的问题
比如说我从网页上复制了一段代码,命名为 main.c
而代码的每行前都有行号,如
1. #include <stdio.h>
2. int main(int argc,char **argv)
3. {
.....
10. return 0;
11. }
我想用sed 命令替换掉前面的行号
cat main.c | sed 's/[0-9]\{1,2\}//' 是可以的,但会把所有的数字全给删了,return 0 也变return 了。
但如果我用
cat main.c | sed 's/^[0-9]\{1,2\}//' 却没有任何效果,
我想问的是,sed 命令中的 ^ 锁定行首功能是不是后面不能是正则表达式,只能是确定的字符串?
而代码的每行前都有行号,如
1. #include <stdio.h>
2. int main(int argc,char **argv)
3. {
.....
10. return 0;
11. }
我想用sed 命令替换掉前面的行号
cat main.c | sed 's/[0-9]\{1,2\}//' 是可以的,但会把所有的数字全给删了,return 0 也变return 了。
但如果我用
cat main.c | sed 's/^[0-9]\{1,2\}//' 却没有任何效果,
我想问的是,sed 命令中的 ^ 锁定行首功能是不是后面不能是正则表达式,只能是确定的字符串?
-
- 帖子: 43
- 注册时间: 2009-11-07 21:25
Re: sed命令的正则表达式的问题
可惜那个文件已经被我删了。现在确实好了。楼上RP好。
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: sed命令的正则表达式的问题
用哪门子sed啊,
cut -f2- -d" " file
cut -f2- -d" " file
代码: 全选
1. #include <stdio.h>
2. int main(int argc,char **argv)
3. {
.....
10. return 0;
11. }
代码: 全选
cut -f2- -d" " lines2
#include <stdio.h>
int main(int argc,char **argv)
{
.....
return 0;
}
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: sed命令的正则表达式的问题
万一100行呢?{}就不行了
非用数字可以这样
sed 's/^[0-9]\+\. //' lines2
非用数字可以这样
sed 's/^[0-9]\+\. //' lines2
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: sed命令的正则表达式的问题
写到半截不想再退回去,不如直接转义方便tusooa 写了:这sed,还专义的,-r多好。

楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: sed命令的正则表达式的问题
。。。trigger 写了:写到半截不想再退回去,不如直接转义方便tusooa 写了:这sed,还专义的,-r多好。
代码: 全选
alias sed='sed -r'
代码: 全选
] ls -ld //
-
- 帖子: 627
- 注册时间: 2008-11-08 18:34
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: sed命令的正则表达式的问题
alias不用,容易把自己绕进去tusooa 写了:。。。trigger 写了:写到半截不想再退回去,不如直接转义方便tusooa 写了:这sed,还专义的,-r多好。代码: 全选
alias sed='sed -r'
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 7
- 注册时间: 2010-12-15 8:48
Re: sed命令的正则表达式的问题
perl code:
while(<PASSWD>)
{
chomp;
@name=split /^[0-9]\./;
print "The lines are: @name\n";
}
while(<PASSWD>)
{
chomp;
@name=split /^[0-9]\./;
print "The lines are: @name\n";
}
- realfiona
- 帖子: 137
- 注册时间: 2007-11-20 10:58
- 来自: Hangzhou, China
- 联系:
Re: sed命令的正则表达式的问题
vim main.c
ctrl+v 选中第一列 按x
ctrl+v 选中第一列 按x
- linwhwylb
- 帖子: 78
- 注册时间: 2009-07-14 10:26
Re: sed命令的正则表达式的问题
代码: 全选
# awk 'gsub("[0-9]+. ","")' main.c
#include <stdio.h>
int main(int argc,char **argv)
{
return 0;
}
Ubuntu philosophy:that software should be available free of charge, that software tools should be usable by people in their local language, and that people should have the freedom to customize and alter their software in whatever way they need.
-
- 帖子: 7
- 注册时间: 2008-05-09 21:54
Re: sed命令的正则表达式的问题
这个是什么字体
pocoyo 写了:都正常.
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: sed命令的正则表达式的问题

苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!