Мне нужно заменить слово в таком файле
text text pc text text
text text pc text text
text text pc text text
мне нужно заменить компьютер на pc1, pc2 .... и т. д.
text text pc1 text text
text text pc2 text text
text text pc3 text text
Как я могу сделать это в одну строку?
Это моя версия на awk
awk 'BEGIN {count=1}; {if ($3 ~ /pc/) {sub(/pc/,"pc"(count++));print} else {print} }' inputfile
он увеличивает счетчик только в том случае, если $ 3 равно pc.
С Perl:
perl -pe 's/\bpc\b/$& . ++$count/ge'
С awk:
awk -v word=pc '{gsub("\<" word "\>", word (++count)); print}'
Если вы знаете, что слово есть в каждой строке и всегда в 3-м столбце:
awk '{ $3 = $3 NR; print }'