substr命令用于截取字符串
001、
[root@PC1 test01]# ls a.txt [root@PC1 test01]# cat a.txt ## 测试数据 34gfjfgax gdg3546677 sfdgfghcg ljhg9875gf wr346dxzc mbkbczxdwa [root@PC1 test01]# awk '{OFS = "\t"; a = substr($1, 0, 3); print a, $0}' a.txt ## 截取第一列的前三个字符 34g 34gfjfgax gdg3546677 sfd sfdgfghcg ljhg9875gf wr3 wr346dxzc mbkbczxdwa
002、
[root@PC1 test01]# ls a.txt [root@PC1 test01]# cat a.txt 34gfjfgax gdg3546677 sfdgfghcg ljhg9875gf wr346dxzc mbkbczxdwa [root@PC1 test01]# awk '{OFS = "\t"; a = substr($1, 2, 3); print a, $0}' a.txt ## 从第二个字符开始,向后截取三个字符 4gf 34gfjfgax gdg3546677 fdg sfdgfghcg ljhg9875gf r34 wr346dxzc mbkbczxdwa
003、
[root@PC1 test01]# ls a.txt [root@PC1 test01]# cat a.txt 34gfjfgax gdg3546677 sfdgfghcg ljhg9875gf wr346dxzc mbkbczxdwa [root@PC1 test01]# awk '{OFS = "\t"; a = substr($1, 3); print a, $0}' a.txt ## 返回第三个字符一直到最后 gfjfgax 34gfjfgax gdg3546677 dgfghcg sfdgfghcg ljhg9875gf 346dxzc wr346dxzc mbkbczxdwa
。