我有一个unix进程,它需要被引号和,的字符串包围。Perl是我以前最喜欢的语言,所以我决定将perl与管道结合使用。cat可以模仿这些过程(我认为)。
cat lines.txt | perl -pe s/(\w+)/,\'$1\'/这使syntax error near unexpected token '('符合真实场景中的错误,lines.txt如下所示:
A
B
C
D怎么了?
发布于 2015-11-02 14:22:02
一个合适的perl命令可以是:
perl -pe "s/(\w+)/,'\$1'/"我们需要转义$,以避免shell试图解释$1。
发布于 2015-11-02 14:45:52
那个错误是因为逃逸很糟糕。当您打算使用grep时,您还使用了perl,并且在不需要它的地方调用了cat。
perl -pe"s/(\w+)/,'\$1'/" lines.txt
-or-
perl -pe's/(\w+)/,'\''$1'\''/' lines.txthttps://stackoverflow.com/questions/33479695
复制相似问题