我想在每行包含一些字符串的末尾添加特定的字符串,空白行应保持不受影响。 如何使用sed命令,以便仅在选定的行之后附加我需要的字符串。
说文件名是temp.txt
abc "123.cf"
abc
abc "456.cf"
ksh
entry "e123.cf"
现在我想将> /dev/null 2>&1 &
追加到最后有.cf“的每一行的末尾
并且需要结果
abc "123.cf" > /dev/null 2>&1 &
abc
abc "456.cf" > /dev/null 2>&1 &
ksh
entry "e123.cf" > /dev/null 2>&1 &
我正在使用命令:
sed -e 's:.cf"$:.ccf" > /dev/null 2>&1 &:' -i temp.txt
似乎不起作用。 :-( 请帮忙。
答案 0 :(得分:1)
kent$ sed 's#.cf"$#& > /dev/null 2>\&1 \&#' file
abc "123.cf" > /dev/null 2>&1 &
abc
abc "456.cf" > /dev/null 2>&1 &
ksh
entry "e123.cf" > /dev/null 2>&1 &
它在bash中起作用。
答案 1 :(得分:1)
awk '/.cf"$/ {$(NF+1) = "> /dev/null 2>&1 &"} 1'
答案 2 :(得分:0)
格伦斯的一个变种:
awk '/.cf"$/ {$0=$0FS"> /dev/null 2>&1 &"}8' file