linux 中 awk命令提取每列的前几个或者最后几个字符
001、
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据,三列数据 324324 aeddeef uukkiikk sssfee ffeeeww eeffzzdd zzzves ggeessa jjxxddqq aaeekk jjmmmzz eerraacc [root@PC1 test]# awk '{for(i = 1; i <= NF; i++){printf("%s\t",substr($i, 1, 3))}; printf("\n")}' a.txt ## 截取每列的前三个字符,使用awk命令的substr内置函数 324 aed uuk sss ffe eef zzz gge jjx aae jjm eer [root@PC1 test]# awk '{for(i = 1; i <= NF; i++){printf("%s\t",substr($i, length($i) - 2, length($i)))}; printf("\n")}' a.txt ## 截取每列的后三个字符 324 eef ikk fee eww zdd ves ssa dqq ekk mzz acc
。