2017-08-28 77 views

回答

1

AWK具有substr()功能,它可以解决你的问题eaiser:

awk -v m="8" -v n="2" 
'{a=substr($0,1,m); 
    b=substr($0,m+1); 
    gsub(".{"n"}","&:",b)}$0=a":"b' 

可以更改mn到所需的值(错误处理并没有在我的一行完成)。如果我们做一个测试:

$ awk -v m="8" -v n="2" '{a=substr($0,1,m);b=substr($0,m+1);gsub(".{"n"}","&:",b)}$0=a":"b'<<<"aaaaaaaaaaaaaaa" 
aaaaaaaa:aa:aa:aa:a 
1

这可能会为你工作(GNU SED):

sed 's/../&:/4g' file 

插入:的2个字符第四发生后,然后在全球整个线。

相关问题