text.txt
따라서 몇 줄의 문자가 포함된 예제 파일이 있습니다 .
abc
abc
yxz
abc
이제 그러한 줄에 번호를 매기고 다른 파일에 복사하고 싶습니다.
최종 예상 결과:
1 abc
2 abc
3 yxz
4 abc
답변1
Unix에는 줄 번호 매기기를 위한 많은 유틸리티가 있지만 귀찮게도 이 작업을 수행하지 않습니다.오직기본 기본 번호.
nl file
파일 줄의 번호를 매기는 (POSIX가 아닌 Unix/GNU) 명령이지만 기본적으로 비어 있지 않은 줄의 번호만 매기고 기본적으로 특수 바닥글/머리글 구분 기호를 처리합니다. 모든 행에 번호를 매기려면 다음을 수행해야 합니다.
nl -ba -d '
' text.txt > newfile
(이것은 위의 작은 따옴표 안의 개행 문자입니다.)nl
일부 구현 에서는 작동하지 않습니다..
POSIX 명령 중에는 다음도 있습니다 pr
.
pr -tn5 text.txt > newfile
pr -t:n5 text.txt > newfile
양식 피드를 특별히 처리하지만.
awk '{printf "%5d %s\n", FNR, $0}' text.txt > newfile
괜찮을 것이고 원하는 방식으로 숫자의 형식을 지정할 수 있습니다.예상 출력:
awk '{printf "%-2d %s\n", FNR, $0}' text.txt > newfile
반품:
grep -n '^' text.txt > newfile
또 다른 출력 형식이 있습니다.
일부 cat
구현에서는 -n
이를 지원합니다.
cat -n text.txt > newfile
답변2
당신이 원하는 것이 무엇인지 잘 모르겠습니다 (파일을 정렬하고 싶지만 입력과 정확히 동일한 순서로 출력을 제공하기 때문에) nl
.
nl filename > outputfile