【发布时间】:2013-09-23 16:17:41
【问题描述】:
我正在尝试使用 sed 删除第一行并删除后续行中的前导和尾随空格
如果我有类似的东西
第1行 线2 第 3 行应该打印出来
线2 第 3 行所以我在 unix shell 上尝试了这个命令:
sed '1d;s/^ [ \t]*//;s/[ \t]*$//' file.txt
它按预期工作。
当我在我的 perl 脚本中尝试相同的操作时:
my @templates = `sed '1d;s/^ [ \t]*//;s/[ \t]*$//' $MY_FILE`;
它给了我这个消息“sed: -e expression #1, char 10: unterminated `s' command”并且不打印任何东西。谁能告诉我哪里出错了
【问题讨论】:
-
IIRC,你需要在 perl 中转义
$s。 -
是的,我试过了。仍然给我同样的错误并且什么也不打印