Regex 正则表达式中的perl意外标记?
我有一个unix进程抛出字符串,需要用引号和Regex 正则表达式中的perl意外标记?,regex,perl,pipe,Regex,Perl,Pipe,我有一个unix进程抛出字符串,需要用引号和,括起来。Perl是我以前最喜欢的语言,所以我决定将Perl与管道结合使用。这个过程可以被一个cat(我想)模仿。我试着: cat lines.txt | perl -pe s/(\w+)/,\'$1\'/ 这会在意外标记“(”符合实际场景中的错误)附近产生语法错误 lines.txt看起来像: A B C D 怎么了?一个合适的perl命令可以是: perl -pe "s/(\w+)/,'\$1'/" 我们需要转义$以避免shell试图解释$1
,
括起来。Perl是我以前最喜欢的语言,所以我决定将Perl与管道结合使用。这个过程可以被一个cat
(我想)模仿。我试着:
cat lines.txt | perl -pe s/(\w+)/,\'$1\'/
这会在意外标记“(”符合实际场景中的错误)附近产生语法错误
lines.txt看起来像:
A
B
C
D
怎么了?一个合适的perl
命令可以是:
perl -pe "s/(\w+)/,'\$1'/"
我们需要转义$
以避免shell试图解释$1
合适的perl
命令如下:
perl -pe "s/(\w+)/,'\$1'/"
我们需要转义$
以避免shell试图解释$1
错误是由于转义错误造成的。当您打算使用perl
时,您还使用了grep
,并且在不需要它的地方使用了cat
perl -pe"s/(\w+)/,'\$1'/" lines.txt
-or-
perl -pe's/(\w+)/,'\''$1'\''/' lines.txt
该错误源于错误的转义。当您打算使用perl
时,您也使用了grep
,并且在不需要它的地方使用了cat
perl -pe"s/(\w+)/,'\$1'/" lines.txt
-or-
perl -pe's/(\w+)/,'\''$1'\''/' lines.txt
你是说perl-pe“s/(\w+)/,'\$1'/“
?谢谢!如果你回答了,我可以奖励一些分数。“这个过程可以被猫模仿”你是说它这么简单,连猫都能做到?!@Borodin那是薛定谔的猫,你不知道文件里有什么,除非你去猫。你是说perl-pe“s/(\w+)/,'\$1'/“
?谢谢!如果你回答了,我可以奖励一些分数。“程序可以被猫模仿”你是说它这么简单,连猫都能做到?!@Borodin那是薛定谔的猫,除非你用猫,否则你不知道文件里有什么。你“不需要grep”?更像是“你不能使用grep”.在问题中输入了一个错误,应该是cat lines.txt | perl-p
。但是答案仍然非常有效。@Jerry博士:当然,我不是指这个问题-虽然答案有点误导。但是现在已经更正了,所以一切都很好:)你“不需要grep”?更像是“你不能使用grep”。在问题中输入的错别字应该是cat lines.txt | perl-p
。。但是答案仍然非常有效。@Jerry博士:当然,我不是指这个问题——尽管答案有点误导。但现在已经更正了,所以一切都很好:)