linux系统sed命令删除前几个字符、后几个字符及特定字符前后字符

时间:2024-03-05 07:42:30

 

1、测试数据

[root@PC3 test]# cat a.txt
1234567849
1234567849
1234567849
1234567849

 

2、删除前几个字符

[root@PC3 test]# sed \'s/..//\' a.txt  ## 删除前两个字符
34567849
34567849
34567849
34567849
[root@PC3 test]# sed \'s/...//\' a.txt ## 删除前三个字符
4567849
4567849
4567849
4567849
[root@PC3 test]# sed \'s/.\{3\}//\' a.txt ## 删除前三个字符
4567849
4567849
4567849
4567849
[root@PC3 test]# sed \'s/.\{5\}//\' a.txt  ## 删除前5个字符
67849
67849
67849
67849

 

3、删除后几个字符

[root@PC3 test]# sed \'s/.$//\' a.txt ## 删除最后一个字符
123456784
123456784
123456784
123456784
[root@PC3 test]# sed \'s/..$//\' a.txt  ## 删除最后两个字符
12345678
12345678
12345678
12345678

 

4、删除特定字符及其前的字符

[root@PC3 test]# sed \'s/.4//\' a.txt
12567849
12567849
12567849
12567849
[root@PC3 test]# sed \'s/..4//\' a.txt
1567849
1567849
1567849
1567849

 

5、删除特定字符及其后的字符

[root@PC3 test]# sed \'s/4.//\' a.txt
12367849
12367849
12367849
12367849
[root@PC3 test]# sed \'s/4..//\' a.txt
1237849
1237849
1237849
1237849