0
如果我有一个字符串和我想使用sed
使得结肠在第一8个字符之后插入,然后经过它的每2个字符之后,将在sed
模式是什么样子,什么会替换模式是什么样子?SED图案后第一米字符,然后在每n个字符之后插入字符
如果我有一个字符串和我想使用sed
使得结肠在第一8个字符之后插入,然后经过它的每2个字符之后,将在sed
模式是什么样子,什么会替换模式是什么样子?SED图案后第一米字符,然后在每n个字符之后插入字符
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'
可以更改m
和n
到所需的值(错误处理并没有在我的一行完成)。如果我们做一个测试:
$ 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
这可能会为你工作(GNU SED):
sed 's/../&:/4g' file
插入:
的2个字符第四发生后,然后在全球整个线。
至少,发布输入线和期望的输出 – RomanPerekhrest