分页: 1 / 2

sed命令的正则表达式的问题

发表于 : 2010-12-03 14:30
fp862
比如说我从网页上复制了一段代码,命名为 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 命令中的 ^ 锁定行首功能是不是后面不能是正则表达式,只能是确定的字符串?

Re: sed命令的正则表达式的问题

发表于 : 2010-12-03 14:56
fp862
可惜那个文件已经被我删了。现在确实好了。楼上RP好。

Re: sed命令的正则表达式的问题

发表于 : 2010-12-03 16:55
trigger
用哪门子sed啊,
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;
}

Re: sed命令的正则表达式的问题

发表于 : 2010-12-03 17:05
trigger
万一100行呢?{}就不行了
非用数字可以这样
sed 's/^[0-9]\+\. //' lines2

Re: sed命令的正则表达式的问题

发表于 : 2010-12-11 12:47
tusooa
这sed,还专义的,-r多好。

Re: sed命令的正则表达式的问题

发表于 : 2010-12-11 14:18
trigger
tusooa 写了:这sed,还专义的,-r多好。
写到半截不想再退回去,不如直接转义方便 :em04

Re: sed命令的正则表达式的问题

发表于 : 2010-12-11 21:05
tusooa
trigger 写了:
tusooa 写了:这sed,还专义的,-r多好。
写到半截不想再退回去,不如直接转义方便 :em04
。。。

代码: 全选

alias sed='sed -r'

Re: sed命令的正则表达式的问题

发表于 : 2010-12-12 10:37
gzbao9999

代码: 全选

grep -Po '^\d+\.\K.*' main.c

Re: sed命令的正则表达式的问题

发表于 : 2010-12-12 13:06
trigger
tusooa 写了:
trigger 写了:
tusooa 写了:这sed,还专义的,-r多好。
写到半截不想再退回去,不如直接转义方便 :em04
。。。

代码: 全选

alias sed='sed -r'
alias不用,容易把自己绕进去

Re: sed命令的正则表达式的问题

发表于 : 2011-01-05 17:32
禁飞区
perl code:

while(<PASSWD>)
{
chomp;
@name=split /^[0-9]\./;
print "The lines are: @name\n";
}

Re: sed命令的正则表达式的问题

发表于 : 2011-01-06 11:42
realfiona
vim main.c
ctrl+v 选中第一列 按x

Re: sed命令的正则表达式的问题

发表于 : 2011-01-08 22:22
linwhwylb

代码: 全选

# awk 'gsub("[0-9]+. ","")' main.c  
#include <stdio.h>
int main(int argc,char **argv)
{
return 0;
}

Re: sed命令的正则表达式的问题

发表于 : 2011-08-29 15:39
J.Wee.Han
这个是什么字体
pocoyo 写了:都正常.

Re: sed命令的正则表达式的问题

发表于 : 2011-08-29 15:59
eexpress
J.Wee.Han, 那是2楼被金主席勾引过去的 monaco 字体。假衬线。

trigger, 不用alias是对的。绕进去很容易的。 :em04

Re: sed命令的正则表达式的问题

发表于 : 2011-08-29 16:45
我就是我2
:em20 wa fen