Chinaunix
标题:
perl 调用 sed 报错
[打印本页]
作者:
bluesmile11
时间:
2013-03-31 21:02
标题:
perl 调用 sed 报错
朋友们请教个问题
我在perl里面调用sed
原语句是,用于删除文本中为0的行
system ("/usr/bin/sed '/^0$/d/' qq_numbers > qqnumber_no_zero");
perl -c 可以通过
报错如下
sed: -e expression #1, char 3: unterminated address regex
改成
`/usr/bin/sed '/^0$/d/' qq_numbers > qqnumber_no_zero`;
也是报相同的错误
直接在shell 下执行
sed '/^0$/d' qq_numbers > qqnumber_no_zero
是可以执行的。
请问为什么会报这个错?要如何修正?
谢谢,如果可以的话,烦请详细说明
作者:
bluesmile11
时间:
2013-03-31 21:06
补充一点
之前是这样写的
system("sed '/^0$/d' qq_numbers>qqnumber_no_zero")
也是不行
作者:
Perlvim
时间:
2013-03-31 21:20
Perl 的双引号环境中, $ 美元符号有特殊含义,需要转义
作者:
mcshell
时间:
2013-03-31 22:01
多个参数用","分割{:3_186:}
作者:
bluesmile11
时间:
2013-04-07 17:11
回复
3#
Perlvim
之前试过对$符号转义,效果是一样的,也是报错
作者:
Perlvim
时间:
2013-04-07 19:36
回复
5#
bluesmile11
报错信息是什么?
作者:
bluesmile11
时间:
2013-04-08 19:31
Perlvim 发表于 2013-04-07 19:36
回复 5# bluesmile11
报错信息是什么?
在perl里面的语句是这个
system ("/usr/bin/sed '/^0\$/d/' qq_numbers > qqnumber_no_zero");
报错信息如下
/usr/bin/sed: -e expression #1, char 7: extra characters after command
作者:
bluesmile11
时间:
2013-04-08 19:38
mcshell 发表于 2013-03-31 22:01
多个参数用","分割
你是说这样写?
system ("/usr/bin/sed '/^0\$/d/' qq_numbers >, qqnumber_no_zero");
应该是我没有写对还是有报错
作者:
dahe_1984
时间:
2013-04-08 22:43
system ("/usr/bin/sed '/^0$/d/' qq_numbers > qqnumber_no_zero");
去掉后面的/
改为system ("/usr/bin/sed '/^0$/d' qq_numbers > qqnumber_no_zero");
作者:
dahe_1984
时间:
2013-04-08 22:45
参考
http://wenku.it168.com/d_000034335.shtml
sed -e '/^#/d' /etc/services
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2