重定向TR输出的sed(Redirect tr output to sed)

2019-09-24 01:20发布

我需要与其他的字符串的文件替换字符串,但更换之前,我需要把它传递给之前为小写新的字符串sed

echo 'NEWSTRING' | tr '[:upper:]' '[:lower:]' | sed 's/foo/(my tr output in lowercase)/g' file.txt

我的问题是,我们怎么能忽略替换字符串作为参数?

Answer 1:

sed "s/foo/$(echo .. |tr ...)/g" file.txt


Answer 2:

尝试使用xargs ,例如:

echo 'NEWSTRING' | tr '[:upper:]' '[:lower:]' | xargs -I '{}' sed 's/foo/{}/g' file.txt


Answer 3:

这可能会为你工作(GNU SED):

sed 's/foo/\L'"NEWSTRING"'/'g file


文章来源: Redirect tr output to sed