2017-08-28 76 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個字符第四發生後,然後在全球整個線。

相關問題