내 파일,
PSS-A (Primary A)
PSS-B (Primary B)
PSS-C (Primary C)
PSS-D (Primary D)
PSS-E (Primary E)
PSS-F (Primary F)
PSS-G (Primary G)
PSS-H (Primary H)
PSS-I (Primary I)
SPARE (SPARE)
결과물 파일,
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)
답변1
작업에 적합한 도구는 다음과 같습니다 nl
.
nl -w2 -s'> ' file
파일의 총 줄 수를 기준으로 idth 옵션을 조정 해야 할 수도 있습니다 w
(숫자가 잘 정렬되도록 하려면).
산출:
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)
답변2
지정된 것과 동일한 형식을 원하는 경우
awk '{print NR "> " $s}' inputfile > outputfile
그렇지 않으면 표준은 아니지만 cat
이 명령의 대부분 구현은 줄 번호를 인쇄할 수 있습니다(적어도 GNU, busybox, Solaris 및 FreeBSD 구현에서는 숫자가 너비 6으로 채워지고 그 뒤에 TAB이 표시됩니다).
cat -n inputfile > outputfile
또는 정규 표현식과 함께 grep -n
(숫자 뒤에 )를 사용할 수 있습니다 . 예를 들어 임의의 행과 일치합니다.:
^
grep -n '^' inputfile > outputfile
답변3
Linux/Unix에서는 일반적인 작업을 수행하는 데 거의 항상 여러 가지 방법이 있습니다. 완전성을 기하기 위해, 명백한 방법 외에도 사용할 수 있는 몇 가지 다른 방법은 다음과 같습니다.
pr -t -n [file]
라인 프린터로 보내기 위해 텍스트 서식을 지정하는 이전 명령에서 유래되었습니다. "-t"는 터미널 독립적인 머리글 및 바닥글 정보를 생략합니다.
이것은 다른 모든 줄에 줄 번호를 인쇄하는 귀여운 sed 방법입니다. "붙여넣기"를 사용하여 한 줄로 축소합니다.
sed = /etc/passwd | paste - -
또는 실제 편집기인 ed를 사용할 수도 있습니다.
echo '1,$n' | ed -s [file]
또는 예를 들어 vi의 커서 주소가 없는 이전 버전은 다음과 같습니다.
printf 'set number\ng/^/p\n' | ex /etc/passwd
ksh93 또는 bash(및 seq 명령. .. ranges 및 eval 문 사용은 연습으로 남겨 둡니다)가 필요한 최종 복잡한 답변입니다.
paste <(seq $(wc -l < [file])) [file]
Debian Linux, FreeBSD 및 Solaris 10에서 테스트되었습니다(마지막 버전은 "seq"가 없어 실패했습니다).
답변4
나는 다음 방법으로 그것을했다
주문하다:cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
산출
cat -n u.txt |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)