linux 中sed命令替换指定为此的字符

 

1、测试数据

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j f f
f d x s f
f d g f f
d e j k i
c f w f d

 

2、替换第一个f为xxx

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j f f
f d x s f
f d g f f
d e j k i
c f w f d
[root@centos7 test4]# sed 's/f/xxx/' test.txt  ## 替换提一个f为xxx
e xxx j f f
xxx d x s f
xxx d g f f
d e j k i
c xxx w f d
[root@centos7 test4]# sed 's/f/xxx/1' test.txt  ## 替换第一个f为xxx
e xxx j f f
xxx d x s f
xxx d g f f
d e j k i
c xxx w f d

 

3、替换第n个f为xxx

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j f f
f d x s f
f d g f f
d e j k i
c f w f d
[root@centos7 test4]# sed 's/f/xxx/2' test.txt   ## 替换第二个f为xxx
e f j xxx f
f d x s xxx
f d g xxx f
d e j k i
c f w xxx d
[root@centos7 test4]# sed 's/f/xxx/3' test.txt   ## 替换第三个f为xxx
e f j f xxx
f d x s f
f d g f xxx
d e j k i
c f w f d

 

4、替换第二个至最后一个f都为xxx

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j f f
f d x s f
f d g f f
d e j k i
c f w f d
[root@centos7 test4]# sed 's/f/xxx/2g' test.txt  ## 替换第2个至最后一个f都为xxx
e f j xxx xxx
f d x s xxx
f d g xxx xxx
d e j k i
c f w xxx d

 

posted @ 2022-04-14 14:38  小鲨鱼2018  阅读(473)  评论(0编辑  收藏  举报