我有一个超过 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