课程:
- 1、如何用sed命令替换一行中的某个字符串
- 2、linux sed命令替换特定字符之后的字符
- 3、在shell怎么替换指定位置的字符
- 4、sed,怎么才能在文件指定位置插入内容
- 5、如何使用sed动态替换行中特定位置字符?
- 6、sed命令替换指定字符串后面内容
如何用sed命令替换一行中的某个字符串
sed替换的基本语法为:
sed 's/原字符串/替换字符串/'
实际使用参考代码如下:
在有aaa的行中,将 111 替换为 AAA,将 222 替换为 BBB即,
sed '/aaa/
{
s/111/AAA/g;
s/222/BBB/g;
}
' urfile
linux sed命令替换特定字符之后的字符
1、首先进入到Linux系统,分别创建两个目录vim1、vim2。
2、分别在vim1、vim2文件夹下创建两个测试文件file1.c、file2.c。
3、然后在file1.c中添加,如下内容。
4、在file2.c中添加如下内容,接下来将要批量将这两个文件中的len替换为size。
5、然后执行如下sed -i "s/len/size/g" `grep len -rl ./`。
6、执行上述命令后,分别再次打开上面新建立的两个文件,可以看到len已经被批量替换为了size。
在shell怎么替换指定位置的字符
用sed命令。
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把man替换为hun,执行命令:sed -i "s/man/hun/g" 'grep man -rl /www'
sed,怎么才能在文件指定位置插入内容
1、插入内容就是替换,比如在ABCD的前面插入123,就是把ABCD替换成123ABCD的操作。
sed "s/ABCD/123ABCD/g" filename
最后的g是全局替换,如果不加,就是把搜索到的第一个替换,后面就不管了。
2、如果字符中存在\这样的符号,可以把“\”换成#或者冒号,或者使用转意符
sed "s#AB\CD#12/34#g"
3、sed的还可以配合正则表达式使用,举个简单例子比如把包含ABCD那行里的123替换成xyz
sed "/ABCD/ s/123/xyz" filename
如何使用sed动态替换行中特定位置字符?
如果只追求结果,我建议使用其它命令——比如 pr
primes 0 1000 | pr -t -10
输出结果如下:
如果要用sed,或 awk,估计要费点脑筋。
sed命令替换指定字符串后面内容
sed -r 's/(ATTR\{address\}==")[^"]*/\1ABC/' A
结果得到:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"