Sed 数字递增的单词替换

Sed 数字递增的单词替换,sed,substitution,Sed,Substitution,我有一个大的文本文件,其中word数据出现了10000多次。我想知道a如何进行条件替换,因此第一次出现在文档中时,它将使用bash更改为NO1,第二次更改为NO2,以此类推。我在考虑使用bash编写一些复杂的脚本,但我想一定有一种更简单的方法。awk'{ awk '{ for (i=1;i<=NF;i++) { if ($i == "DATA") printf("%s%s", "NO"++n, OFS); else printf(

我有一个大的文本文件,其中word数据出现了10000多次。我想知道a如何进行条件替换,因此第一次出现在文档中时,它将使用bash更改为NO1,第二次更改为NO2,以此类推。我在考虑使用bash编写一些复杂的脚本,但我想一定有一种更简单的方法。

awk'{
 awk '{
     for (i=1;i<=NF;i++) { 
          if ($i == "DATA") printf("%s%s", "NO"++n, OFS); 
           else  printf("%s%s", $i, OFS)      
          if (i==NF) printf "\n"
     }      
  }' file > outFile

对于(i=1;i)单词数据是否在同一行中多次出现?由于要替换的字符串出现了这么多次,您不希望使用shell来执行此操作,而是希望使用一些实用程序。我冒昧地删除了bash标记,并将问题的措辞改为更精确。请在检查单词:
awk'{for(i=1;i
awk '{for (i=1; i<=NF; i++) if ($i=="DATA") $i = "NO" ++n} {print}' file > outFile
perl -pe 's/DATA/ "NO" . ++$n /ge' file_in > file_out