![인덱스 행에 연속된 숫자를 간결하고 우아하게 추가합니다.](https://linux55.com/image/21539/%EC%9D%B8%EB%8D%B1%EC%8A%A4%20%ED%96%89%EC%97%90%20%EC%97%B0%EC%86%8D%EB%90%9C%20%EC%88%AB%EC%9E%90%EB%A5%BC%20%EA%B0%84%EA%B2%B0%ED%95%98%EA%B3%A0%20%EC%9A%B0%EC%95%84%ED%95%98%EA%B2%8C%20%EC%B6%94%EA%B0%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 보통 이렇게 한다
$ wc questions
33 36 3105 questions
$ seq 1 33 > nums
$ paste nums questions
1 Content
2 ...
.
.
33 End Content
하지만 보기 흉한 더미 파일을 사용하지 않고 이 작업을 수행하는 더 빠른 방법이 있을 수 있을 것 같습니다. 기본적인 *ix 도구를 사용하는 것은 어떻습니까? 더 쉬운 방법이 있나요? 저는 Vim을 사용하므로 Vim 기반 솔루션에도 만족하지만 간단한 UNIX 기반 솔루션도 작동할 것입니다(실제로 어떤 경우에는 더 나을 수도 있습니다. 언제든지 편집기에서 구축할 수 있습니다).
아래는 일반적인 조건입니다.
입력하다
A
B
C
.
.
X
산출
1. A
2. B
3. C
.
.
N. X
답변1
이것이 바로 nl
목적입니다. 예를 들어, file.txt
예제 입력이 포함되어 있고 이를 예제 출력처럼 보이도록 하려면 다음을 수행할 수 있습니다.
nl -nln '-s. ' file.txt
맨페이지에서는 nl
사용법에 대한 자세한 내용을 제공합니다. 출력 형식을 다양하게 제어할 수 있습니다.
답변2
cat -n
지금까지 언급되지 않은 것이 놀랍습니다 .
답변3
이 목록의 완성도를 위해 sed
다음을 수행할 수도 있습니다.
sed '=' questions | sed 'N;s/\n/. /'
아쉽게도 =
주문은인쇄줄 번호는 별도의 줄에 있으므로 별도의 sed
호출만 서식을 아름답게 할 수 있습니다.
답변4
숫자와 데이터를 분리하는 데 어떤 제한이 있는지 잘 모르겠지만 다음과 같이 하겠습니다 grep -n '^' questions
. 그러면 다음이 출력됩니다:
1:Content
2:...
33:End Content