linux 中如何提取最后一列或者最后若干列之外的所有内容
001、
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ## 提取最后一列以外的所有内容 [root@PC1 test]# awk '{for(i = 1; i <= (NF - 1); i++) {printf("%s ", $i)} {printf("\n")}}' a.txt 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 ## 最后二列 [root@PC1 test]# awk '{for(i = 1; i <= (NF - 2); i++) {printf("%s ", $i)} {printf("\n")}}' a.txt 01 02 03 04 05 06 07 08 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38
002、
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test]# rev a.txt | cut -d " " -f 1 --complement | rev ## 提取最后一列以外的内容 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 [root@PC1 test]# rev a.txt | cut -d " " -f 1-2 --complement | rev ## 最后两列以外 01 02 03 04 05 06 07 08 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38