내 텍스트는 다음과 같습니다
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