linux 中sed命令实现删除文件的任意列
001、删除文件的第一列
[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt ## 测试数据
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/^\S\+\s//' a.txt ## 删除文件的第一列
02 03 04 05
07 08 09 10
12 13 14 15
17 18 19 20
02、删除文件中间的任意一列
[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/\S\+\s//2' a.txt ## 删除文件的第二列
01 03 04 05
06 08 09 10
11 13 14 15
16 18 19 20
03、删除文件的最后一列
[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/\s\S\+$//' a.txt ## 删除文件最后一列
01 02 03 04
06 07 08 09
11 12 13 14
16 17 18 19
Linux命令之sed的基本简单操作
1.sed的查操作
查看某一行
sed -n '5p' xxx.txt
查看某行到某行
sed -n '5,15p' xxx.txt
查看最后一行
sed -n '$p' xxx.txt
查看xxx.txt中以h开头的行
sed -n '/^h/p' xxx.txt
2.sed的删除操作
删除固定行
sed '2d' xxx.txt
删除某行到某行
sed '2,6d' xxx.txt
这里的删除只是将删除后的结果显示出来,并不是对文件某行真正的删除,如果要在文件中删除,可在sed后加上-i
3.sed的替换操作
替换某一行
sed '2s/原字符串/新字符串/g' xxx.txt
替换最后一行
sed '$s/原字符串/新字符串/g' xxx.txt
替换某行到某行
sed '2,$s/原字符串/新字符串/g' xxx.txt
这里的替换同删除一样,只是结果显示替换,文本中变化需要在sed后加-i
4.sed的添加操作
在所有行首添加hh
sed 's/^/hh&/g' xxx.txt
在所有行尾添加hh
sed 's/$/hh&/g' xxx.txt
在特定字符h前/后添加c
sed 's/h/c&/g' xxx.txtsed 's/h/&c/g' xxx.txt
到此这篇关于linux 中sed命令实现删除文件的任意列的文章就介绍到这了,更多相关linux sed命令删除文件内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!