Linux 中awk命令如何从文本中提取偶数列和奇数列
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 [root@pc1 test]# awk '{for(i=2; i<=NF; i+=2){printf "%s%s", $i, (i==(NF%2==0?NF:NF-1)?ORS:OFS)}}' a.txt 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 [root@pc1 test]# awk -F "\t" -v OFS="\t" '{for(i=2; i<=NF; i+=2){printf "%s%s", $i, (i==(NF%2==0?NF:NF-1)?ORS:OFS)}}' a.txt ## 提取偶数列 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30

。
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 [root@pc1 test]# awk '{for(i=1; i<=NF; i+=2) {printf "%s%s", $i, (i==(NF%2==0?NF-1:NF)?ORS:OFS)}}' a.txt 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 [root@pc1 test]# awk -F "\t" -v OFS="\t" '{for(i=1; i<=NF; i+=2) {printf "%s%s", $i, (i==(NF%2==0?NF-1:NF)?ORS:OFS)}}' a.txt ## 提取奇数列 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29

.

浙公网安备 33010602011771号