Как я могу удалить один или несколько конкретных символов некоторых слов в файле, которые соответствуют одному условию, как в примере:
Условие здесь его сценарий удаляет все символы a каждого слова четной длины.
содержимое файла до:
abad a_12
asf aga 3
содержимое файла после:
bd _12
asf aga 3
Я пробовал с sed но я не знаю, как я могу поставить условие вместо g :
sed 's/a//g'
В 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