텍스트에 줄 번호를 추가하는 방법은 무엇입니까? [폐쇄]

텍스트에 줄 번호를 추가하는 방법은 무엇입니까? [폐쇄]

내 텍스트는 다음과 같습니다

Hi
Bye
Nope
Sorry
Cya
Chill

어떻게 해야 하나요?

[1] Hi
[2] Bye
[3] Nope

등등?

답변1

nl("Number Line") 유틸리티는 다음을 수행합니다.

$ cat file
Hi
Bye

Nope
Sorry

Cya
Chill

$ nl file
     1  Hi
     2  Bye

     3  Nope
     4  Sorry

     5  Cya
     6  Chill

nl시도해 볼 수 있는 몇 가지 옵션이 있습니다. 페이지 번호 매기기 등도 수행할 수 있습니다.

일부 구현에서는 cat행 번호 매기기도 지원합니다.

$ cat -n file
     1  Hi
     2  Bye
     3
     4  Nope
     5  Sorry
     6
     7  Cya
     8  Chill

그리고 awk:

$ awk '{ print NR, $0 }' file
1 Hi
2 Bye
3
4 Nope
5 Sorry
6
7 Cya
8 Chill

또는 빈 줄에 번호를 매기고 싶지 않은 경우:

$ awk '$0 { print ++nr, $0; next } { print }' file
1 Hi
2 Bye

3 Nope
4 Sorry

5 Cya
6 Chill

다음을 사용하여 awk특수 형식화를 쉽게 수행할 수도 있습니다 .

$ awk -vOFS="\t" '$0 { print "[" ++nr "]", $0; next } { print }' file
[1]     Hi
[2]     Bye

[3]     Nope
[4]     Sorry

[5]     Cya
[6]     Chill

또는...

$ awk -vOFS=":\t" '$0 { printf("[%03d]%s%s\n", ++nr, OFS, $0); next } { print }' file
[001]:  Hi
[002]:  Bye

[003]:  Nope
[004]:  Sorry

[005]:  Cya
[006]:  Chill

paste매뉴얼 에서 (OpenBSD):

$ sed '=' file | paste -s -d '\t\n' - -
1       Hi
2       Bye
3
4       Nope
5       Sorry
6
7       Cya
8       Chill

답변2

awk '{printf "%s.\t%s\n",NR,$0}' file

또는 이 명령을 사용할 수도 있습니다 nl. 그처럼:

cat /path/to/file | nl > /path/to/output

관련 정보