텍스트 파일을 편집하고 공백을 추가한 다음 숫자를 늘리려고 합니다. 나는 awk를 사용하여 이 작업을 수행하려고 시도하고 있지만 지금까지 가장 좋은 결과는 카운터를 새 줄에 배치하는 것입니다. 다른 예를 시도해 보았지만 잘 작동하지 않습니다.
입력하다
line
line
현재의
awk '{$1 = $1 NR; print }' input.txt > output.txt
결과
line
1
line
2
고의로
line 1
line 2
또한 이것을 bash 스크립트에 넣으면 현재 빈 출력이 제공됩니다.
#!/bin/sh
awk '{$1 = $1 NR; print }' $1 > output.txt
답변1
이 방법을 사용해 보세요
awk '{print $1,NR}'
예
$ cat example.txt
line
line
$ awk '{print $1,NR}' example.txt
line 1
line 2
$
답변2
왜 안 돼
awk '{printf "%s %d\n",$1,NR}' input.txt > output.txt
어디
"%s %d\n"
첫 번째 인수를 문자열(%s
)로 형식화하고 다음 인수를 숫자(%d
)로 형식화한 후 새 줄을 인쇄합니다(\n
).
답변3
다음을 통해 변경 사항을 기록합니다.
awk '$++NF=NR' input.txt
답변4
#!/usr/bin/python
k=open('file','r')
g=1
for i in k:
print "{0} {1}".format(i.strip(),g)
g=int(g)+1
산출
python ko.py
line 1
line 2
sed command
sed -n '/.*/{;=;p}' file|sed "N;s/\n/ /g"| awk '{print $2,$1}'
line 1
line 2
using cat command
cat -n file| awk '{print $2,$1}'
line 1
line 2