ale*_*lex 3 awk text-processing
有什么方法可以从包含文本的另一列中减去包含文本的一列数据,并获得包含唯一字符的第三列,例如使用 awk,例如。
输入
ab a
cd d
efg ef
Run Code Online (Sandbox Code Playgroud)
所需的输出:
ab a b
cd d c
efg ef g
Run Code Online (Sandbox Code Playgroud)
是的,awk
是一个合适的选择:
awk 'NF{t=$1;gsub("["$2"]","",t);print$0,t}' input
Run Code Online (Sandbox Code Playgroud)
如果第二个字段可能包含在正则表达式字符类中具有特殊含义的字符,则必须对这些字符进行转义。在 POSIX 中解决这个问题awk
很长,所以我awk
只发布了 GNU替代方案:
gawk 'NF{print$0,gensub("["gensub(/([\[\]^-])/,"\\\\\\1","g",$2)"]","","g",$1)}' input
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1288 次 |
最近记录: |