我有以下两个命令:
tr '[:upper:]' '[:lower:]' < file1.txt > file2.txt
tr -s "[:punct:]" " " < file1.txt > file2.txt
是否可以将它们组合成一个命令?我的以下尝试没有奏效:
tr '[:upper:]' '[:lower:]' | tr -s "[:punct:]" " " < file1.txt > file2.txt
最佳答案
您需要将输入重定向放在第一个 tr
之前,而不是第二个。
tr '[:upper:]' '[:lower:]' < file1.txt | tr -s "[:punct:]" " " > file2.txt
否则,第一个 tr
尝试从终端而不是文件读取,第二个 tr
从文件而不是管道读取。
关于linux - 是否可以将两个 tr 命令合二为一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201426/