Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
Windows tr输出文件_Windows_Cmd_Tr - Fatal编程技术网

Windows tr输出文件

Windows tr输出文件,windows,cmd,tr,Windows,Cmd,Tr,我正在尝试运行以下命令: cat file.txt | tr -d "{\"" > output.txt 但它不断出错: tr: extra operand '>' 似乎它没有正确地解释胡萝卜。 当我尝试以下方法时,同样的情况也会发生: tr -f "{\"" < input.txt > output.txt tr: extra operand '<' tr-f“{\”output.txt tr:extra operant'看起来cmd与“{\”混淆了。首先,

我正在尝试运行以下命令:

cat file.txt | tr -d "{\"" > output.txt
但它不断出错:

tr: extra operand '>'
似乎它没有正确地解释胡萝卜。 当我尝试以下方法时,同样的情况也会发生:

tr -f "{\"" < input.txt > output.txt
tr: extra operand '<'
tr-f“{\”output.txt

tr:extra operant'看起来
cmd
“{\”
混淆了。首先,反斜杠在转义引号时工作正常。但是cmd使用两个连续引号表示转义引号。然后将行的其余部分作为同一句话。使用
printf
可以看到效果:

C:\>printf "%s\n" "x\"" > nul
x"
>
nul
因此,
printf
将每个单词单独处理,但
cmd
将它们视为带引号字符串的所有部分,因此不会将
>nul
解析为普通单词以外的任何单词

解决方案?在字符串中使用两个连续引号:

cat file.txt | tr -d "{""" > output.txt

看起来
cmd
“{\”“
混淆了。首先,反斜杠在转义引号时工作正常。但是cmd使用两个连续的引号表示转义引号。然后将行的其余部分作为同一句话。使用
printf
可以看到效果:

C:\>printf "%s\n" "x\"" > nul
x"
>
nul
因此,
printf
将每个单词单独处理,但
cmd
将它们视为带引号字符串的所有部分,因此不会将
>nul
解析为普通单词以外的任何单词

解决方案?在字符串中使用两个连续引号:

cat file.txt | tr -d "{""" > output.txt

你说的是“windows”,你在使用cygwin吗?你展示的语法是正确的(在ubuntu linux上测试过),所以不管是什么问题,都是shellNo的直接命令提示符,具体使用GNU32Toolsbest。你正在运行
cmd.exe
?这基本上是DOS,可能被
“X\”
\“
部分)搞混了。请尝试仅删除
\”
(是的,我们必须分别修复删除
)。祝您好运。
^
cmd
中的转义字符,因此请尝试
cat file.txtoutput.txt
或甚至
cat file.txt{tr d^^”{output.txt
(管道可能需要双重转义)…你说的是“windows”,你使用的是cygwin吗?你展示的语法是正确的(在ubuntu linux上测试过),所以不管是什么问题,都是shellNo的直接命令提示符,具体使用的是GNU32Toolsbest。你运行的是
cmd.exe
?这基本上是DOS,可能会被
“X\”
(The
\“
部分)。尝试仅删除
\”
(是的,我们必须单独修复删除
)。祝您好运。
^
cmd
中的转义字符,所以请尝试
cat file.txt
输出.txt,甚至
cat file.txt ^ tr-d^ ^输出.txt
(管道可能导致需要双重转义).
cmd
不会转义
作为一个转义
”,
cmd
中的转义字符是
^
,因此
^
转义
。尽管至少有一个(外部)命令接受
:…@aschipfl
cat file.txt | tr-d”{^“>output.txt
不工作。
tr
查看实际的
^
字符。另一方面,使用
tr
查看单个
^
不会在
之间处理
cmd
,所以你需要转义第一个引号,比如
^“{”
,然后它应该可以工作,我想…@aschipfl是的,
^“{”
可以工作!但是它似乎也可以工作,并且短了1个字符。在我的回答中,我有一个额外的
在结尾,实际上这似乎是不必要的。
cmd
不会转义
作为一个转义的
cmd
中的转义字符是
^
,因此
^“
转义
。尽管至少有一个(外部)命令接受
”“
:…@aschipfl
cat file.txt | tr-d”{^“>output.txt
不工作。
tr
查看实际的
^
字符。另一方面,使用
tr
查看单个
^
不会在
之间处理
cmd
,所以你需要转义第一个引号,比如
^“{”
,然后它应该可以工作,我想…@aschipfl是的,
^“{”
可以工作!但是它似乎也可以工作,并且短了1个字符。在我的回答中,我在最后有一个额外的
,这在实践中似乎是不必要的。