아래와 같이 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
전체 파일 반복N1부터 까지의 숫자가 붙은 시간N반복할 때마다 다음을 추가합니다.
n=999
i=1
while [ "$i" -le "$n" ]; do
sed "s/\$/$i/" <inputfile
i=$((i+1))
done >outputfile
각 행에 대해 반복N1부터 까지의 숫자가 붙은 시간N:
awk -v n=999 '{for (i=1; i<=n; i++) print $0 i}' <inputfile >outputfile