sed +没有cat命令

lid*_*dia 3 shell sed

以下语法目标是在符合"name1 + name2 + name3"的第一个字符串上添加"_name4",并用new替换旧单词

cat  file | sed  '/name1 + name2 + name3/s/[^ ]*\>/&_name4/'  | sed s'/old/new/g' > new_file
Run Code Online (Sandbox Code Playgroud)

我的问题:是否可以不使用cat命令执行相同的操作?

Mar*_*ers 7

你很少需要猫.你可以这样做:

sed '/name1 + name2 + name3/s/[^ ]*\>/&_name4/' file | sed 's/old/new/g' > new_file
Run Code Online (Sandbox Code Playgroud)

您还可以组合sed命令:

sed '/name1 + name2 + name3/s/[^ ]*\>/&_name4/;s/old/new/g' file > new_file
Run Code Online (Sandbox Code Playgroud)