如何删除文件内符合一个条件的某些单词的一个或多个特定字符,如示例中所示:
这里的条件是脚本将删除所有A每个偶数长度单词的字符。
之前的文件内容:
abad a_12
asf aga 3
之后的文件内容:
bd _12
asf aga 3
我曾尝试过sed但我不知道如何把条件改为G:
sed 's/a//g'
答案1
在 awk 中这相当简单,假设“单词”是一个空格分隔的字段:
awk '{for(i=1;i<=NF;i++){if( !(length($i)%2) ) gsub("a","",$i)}} 1'
前任。:
$ awk '{for(i=1;i<=NF;i++){if( !(length($i)%2) ) gsub("a","",$i)}} 1' file
bd _12
asf aga 3