shell linux 命令 替换和写入?

将 A 文件中 包含 某某字符串"abcdef"的行 ,将这一行的内容copy到另一个文件中 然后注释掉这一行要怎么操作

cat A|grep "abcdef" >>B
sed -i 's/^.*abcdef/#&/g' A
测试了下,可以追问

谢谢您,如果要拷贝到B 文件的某一行要怎么写?

追答

1.在指定行前插入一行
sed '2 ittt' -i a.txt # 在第2行前插入ttt,并且将结果更新到a.txt(如果不想将插入真正更新到文件,去掉后面的-i选项就可以)

2.在指定行后插入一行
sed '2 attt' -i a.txt #在第2行后插入ttt,并且将结果更新到a.txt(如果不想更新原文件,去掉-i)

自己试试

追问

试过了
command a expects \ followed by text
但是从网上查了也不是网上说的需要加"" 的问题

追答

不知道你这啥报错
aa=`cat A|grep "abcdef"`
sed "2 $aa" B

温馨提示:答案为网友推荐,仅供参考
相似回答