linux系统中awk命令删除指定列
1、测试数据
[root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e
2、删除第二列
[root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e [root@centos79 test3]# awk '{$2 = ""; print $0}' a.txt ## 删除之后,多出一个空格 3 6 2 s 3 5 c h e [root@centos79 test3]# awk '{$2 = ""; print $0}' a.txt | cat -A 3 6 2$ s 3 5$ c h e$
3、删除第二列,不留空格
[root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e [root@centos79 test3]# awk '{$2 = "\b"; print $0}' a.txt 3 6 2 s 3 5 c h e
4、是否适用tab
[root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e [root@centos79 test3]# awk '{OFS = "\t"}{$2 = "\b"; print $0}' a.txt 3 6 2 s 3 5 c h e
5、是否适用tab
[root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e [root@centos79 test3]# sed 's/ /\t/g' a.txt -i [root@centos79 test3]# cat a.txt 3 5 6 2 s g 3 5 c f h e [root@centos79 test3]# awk '{OFS = "\t"}{$2 = "\b"; print $0}' a.txt 3 6 2 s 3 5 c h e [root@centos79 test3]# awk '{$2 = "\b"; print $0}' a.txt 3 6 2 s 3 5 c h e