【发布时间】:2012-01-13 23:08:01
【问题描述】:
如何将 sed 命令的输出重定向为 tr 命令的输入?
【问题讨论】:
-
sed 命令的输出是多行的。
-
9 个问题,未选择一个答案...
如何将 sed 命令的输出重定向为 tr 命令的输入?
【问题讨论】:
使用管道“|”
sed ... | tr -d '...'
【讨论】:
您不需要tr。 y map 谓词可以在 sed 中进行音译。
【讨论】:
看着你的评论,你说你的sed 命令的输出是多行的。如果它确实在多行上,而不是环绕,则可以使用 for 循环
for i in $(sed ".."); do tr "$i"; done
【讨论】:
tr 可以处理多行输入。您将sed 的输出作为指令 提供给tr,但没有输入。而且,一般来说,使用这种方式可能是一个问题,因为空格是分隔符。最好使用while read 循环。像sed 's/foo/bar/' file | while read -r line; do echo "$line" | tr a B ; done 这样的东西会工作,但循环是不必要的,除非你在里面做一些其他的处理。