我正在尝试运行以下命令:
cat file.txt | tr -d "{\"" > output.txt
但它始终存在错误:
tr: extra operand '>'
似乎没有正确解释胡萝卜。 当我尝试这个时也会发生同样的事情:
tr -f "{\"" < input.txt > output.txt
tr: extra operand '<'
答案 0 :(得分:2)
看起来cmd
与"{\""
混淆了。首先,反斜杠在转义引号时正常工作。但cmd采用两个连续引号表示转义报价。然后该行的其余部分被视为相同的句子。您可以使用printf
:
C:\>printf "%s\n" "x\"" > nul
x"
>
nul
因此,printf
会单独收集每个单词,但cmd
会将它们视为带引号字符串的所有部分,因此不会将> nul
解析为除正常单词以外的任何内容。< / p>
解决方案?在字符串中使用两个连续引号:
cat file.txt | tr -d "{""" > output.txt