我需要一起管2个命令,第一个命令将输入文件中的XYZ替换为“,”,然后我需要做另一个替换。未成功尝试以下内容。pipe命令一起
tr 'XYZ' ',' <input_file | xargs tr ',' ''
什么管道两个命令在一起,以正确的方式,其中第二个命令从一个文件需要输入?
我需要一起管2个命令,第一个命令将输入文件中的XYZ替换为“,”,然后我需要做另一个替换。未成功尝试以下内容。pipe命令一起
tr 'XYZ' ',' <input_file | xargs tr ',' ''
什么管道两个命令在一起,以正确的方式,其中第二个命令从一个文件需要输入?
tr 'XYZ' ',' <input_file | tr ',' ''
管道符号|
连接第一命令的标准输出到第二命令的标准输入。 tr
是一个过滤器,这是一个程序,它希望它的输入出现在标准输入流上并在标准输出流上发出其结果。
可以,只要你想尽可能多的这些连接在一起:
tr 'A' 'B' < input_file | tr 'C' 'D' | tr 'E' 'F' | tr 'Z' 'Q'
'cat input_file | tr'XYZ'','| tr','''' –
[无用的'cat'奖励。](http://partmaps.org/era/unix/award.html#cat) –
如果你认为'cat'总是无用的。在这种情况下,cat使命令更具可读性,从左到右管道一直向下。 –
如果你只是想删除的字符,那么-d标志以TR将这样做没有必要替换为''
tr -d 'xyz' < file
将在stdout中显示所有x的y和z的文件内容
我可能会误解,但为什么两次调用'tr'?为什么不做'tr'XYZ''''? – squiguy
@squiguy - 考虑输入'A,B,C XYZ D' –