Perl终端中的输入和输出文件

时间:2019-05-06 23:32:13

标签: perl terminal

请在输入和输出中的这段代码中出现错误,我不知道如何纠正此代码:

echo < in.txt | perl -CS -pe 's/[\x{0830}-\x{\x{9000}]+//g  > out.txt

我如何导入in.txt和导出out.txt的问题。

在sed中很容易这样

sed < in.txt > out.txt

1 个答案:

答案 0 :(得分:1)

  • echo未从STDIN中读取。
  • 您有一个不匹配的'
  • \x{\x{9000}应该是\x{9000}
  • 您要删除的字符范围非常特殊,并且肯定不正确。它从看似任意的块的中间开始,并且包括巨大的空间,不仅是未分配的,而且不是任何块的一部分。没有更多信息,我将无法解决此问题。

已修复:

perl -CS -pe's/[\x{0830}-\x{9000}]+//g' <in.txt >out.txt

或者只是

perl -CS -pe's/[\x{0830}-\x{9000}]+//g' in.txt >out.txt

另请参阅:Specifying file to process to Perl one-liner