2010-04-13 34 views
0

如何將sed命令的輸出作爲輸入重定向到tr命令?將sed輸出重定向到tr

+0

sed命令的輸出位於多行上。 – syker 2010-04-13 00:58:14

+0

9個問​​題,並沒有選擇一個答案... – 2010-04-13 04:59:19

回答

5

使用管道「|」

sed ... | tr -d'...'

0

看看你的評論,你說你的sed命令的輸出是在多行上。如果它確實是多條線路上,並圍繞不是一個包,你可以使用一個for循環

for i in $(sed ".."); do tr "$i"; done 
+0

這不是必須的,'tr'可以處理多行輸入。並且,您將'sed'的輸出作爲*指令*提供給'tr',但沒有*輸入*。而且,一般來說,以這種方式使用可能會成爲問題,因爲空格是分隔符。使用'while read'循環會更好。像'sed's/foo/bar /'文件|同時讀取-r行;做回聲「$行」| tr a B; done'會*工作*但循環是不必要的,除非你在裏面做一些其他的處理。 – 2010-04-13 08:39:26

2

你不需要try地圖謂詞可以從sed內部進行音譯。

+0

tr有其他選擇。但是,是的,如果它簡單的音譯,sed的'y'謂詞就足夠了 – ghostdog74 2010-04-13 05:13:22