作业帮 > 综合 > 作业

linux里面的sed命令

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 21:13:58
linux里面的sed命令
[root@localhost home]# cat a
111
222
333
我想把第二行222替换为两边带有引号的777 即 "777" 我是下面这样写的,但是不行.请问哪里写错了吗?(如果777两边没有引号的话,是这么写.加了引号,
a=`cat -n /home/a|grep 222|awk '{print $1}'`
sed -i " $a c 777 " /home/a
a又是变量名又是文件名,很容易搞混啊.建议换个变量名.sed匹配一行时不一定要使用行号,直接匹配内容也可以.

一句就行:sed -i '/222/c\"777"' /home/a
 要获取行号,也有简单一点的方法:sed -n '/222/=' /home/a