Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex perl脚本中的Sed命令不';行不通_Regex_Perl_Bash_Sed - Fatal编程技术网

Regex perl脚本中的Sed命令不';行不通

Regex perl脚本中的Sed命令不';行不通,regex,perl,bash,sed,Regex,Perl,Bash,Sed,我的perl脚本中的sed命令有问题。执行脚本时,出现以下错误: sed: -e expression #1, char 6: unterminated `s' command 它涉及以下几行: $com1=`ls $path_correct | cut -f 1 -d "." | sed "s/.\{2\}$//" | sort > /tmp/usf-rpms`; 为什么perl不理解sed?正确的语法应该是什么。我已经试着处理这个问题好几天了,但没有办法解决这个问题。请帮助。您可能

我的perl脚本中的sed命令有问题。执行脚本时,出现以下错误:

sed: -e expression #1, char 6: unterminated `s' command
它涉及以下几行:

$com1=`ls $path_correct | cut -f 1 -d "." | sed "s/.\{2\}$//" | sort > /tmp/usf-rpms`;

为什么perl不理解sed?正确的语法应该是什么。我已经试着处理这个问题好几天了,但没有办法解决这个问题。请帮助。

您可能至少需要在“sed”后面加“-e”。在“$”前面加一个“\”

在替换模式中的$前面加一个\就可以了。在Perl中这样做是可能的,但我认为这是非常可怕的。首先,Perl有
glob
,其作用类似于
ls
。它有
split
来剪切字段。它有替换操作符,就像
sed
,还有
sort
,还可以打印到文件中。是的,它现在正在工作。这就是我要找的。你让我对使用这些参数有了更好的理解。谢谢具体来说,
$/
是一个Perl变量,用于指定输入记录分隔符,因此需要转义美元符号。