인덱스 행에 연속된 숫자를 간결하고 우아하게 추가합니다.

인덱스 행에 연속된 숫자를 간결하고 우아하게 추가합니다.

나는 보통 이렇게 한다

$ 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

관련 정보