关于AWK读取一个文件,将文件内多条记录添加域分隔符?

2025-05-12 18:22:14
推荐回答(2个)
回答(1):

你的例子看上去就是把一个14个字符长度的串,分割成3-3-4-4 长度的4个字串,用;隔开。

如此可以这样实现:

awk
 
'
    {
        a1 = substr($0, 1, 3);
        a2 = substr($0, 4, 3);
        a3 = substr($0, 7, 4);
        a4 = substr($0, 11);
        printf ("%s;%s;%s;%s\n", a1, a2, a3,a4);
    }
'

回答(2):

awk -vOFS=\; -vFIELDWIDTHS="3 3 4 4" '$1=$1' urfile