如何将增量计数附加到文本文件的每一行?

如何将增量计数附加到文本文件的每一行?

我有一个超过 500000 行的大文档,如下所示

car
milk
dog

我想计算每一行并在行尾添加数字,最终文档如下所示

car1
milk1
dog1
car2    
milk2
dog2
car3
milk3
dog3

或者像这样。输出行的顺序并不重要

car1
car2
car3
milk1
milk2
milk3
dog1
dog2
dog3

我为此创建了一个脚本

for (( i=0; i<=999; i++))
do
awk '{ print $1 '$i' }' inputfile >> outputfile
done

但该脚本仅适用于小文件,我不知道为什么。

答案1

重复整个文件n带有从 1 到 的数字后缀的时间n在每次重复时添加:

n=999
i=1
while [ "$i" -le "$n" ]; do
  sed "s/\$/$i/" <inputfile
  i=$((i+1))
done >outputfile

重复每一行n带有从 1 到 的数字后缀的时间n:

awk -v n=999 '{for (i=1; i<=n; i++) print $0 i}' <inputfile >outputfile

相关内容