sed -i 'aAGE=\"12\"' test.txt
你以为这种方式是正确的吗 nonono 他会默认把该内容添加到文件的每一行而不是最后一行,那么正确的方法就是在前面加一个$,表示只在文件最后一行添加内容。
sed -i '$aAGE=\"12\"' test.txt
sed -i 'aAGE=\"12\"' test.txt你以为这种方式是正确的吗 nonono 他会默认把该内容添加到文件的每一行而不是最后一行,那么正确的方法就是在前面加一个$,表示只在文件最后一行添加内容。sed -i '$aAGE=\"12\"' test.txt...
sed在文本第一行和最后一行添加字符串
shell在文本第一行和最后一行添加字符串
sed -i '1 i DELIMITER INSERTDELIMITER' filename
sed -i '1 i DELIMITER INSERTDELIMITER' filename
sed '1i 添加的内容' file #这是在第一行前添加字符串
sed '$i 添加的内容' file #这是在最后一行行前添加字符串
sed '$a添加的内容' file #这是在最后一行行后添加字符串
如果删除的是一个变量的值,假如变量是var,应该写成:
sed -i '/'$var'/d' abc.txt
至于grep -v aaa abc.txt这个方法,是无法将修改的结果写入abc.txt中去的。
[asp@BJ-CP-7F-106-36 result]$ cat 11371_mobile_20
需求案例1
将当前目录下所有的0_80_91.txt、0_80_92.txt、0_80_93.txt、。。。等几十个文件的文件名修改为0_81_91.txt、0_81_92.txt、0_81_93.txt。也就是将文件名中的80修改为81。
实现命令为:ls *.txt |sed -nr 's/(0_)(80)(.*)/mv \1\2\3 \181\3/gp' | sh
#ls *.txt
0_80_91.txt 0_80_92.