Linux에서 파일에 행 이름 열을 추가하는 방법은 무엇입니까?

Linux에서 파일에 행 이름 열을 추가하는 방법은 무엇입니까?

다음과 같은 거대한 파일(50000줄)이 있습니다.

입력.txt:

123315334262625363534
265343426272282827262
224343536625242536363
635352627273635373732
363353533637383838327
635342422325337474524

각 번호를 두 번 반복하면서 파일 시작 부분의 첫 번째 열로 줄 번호를 추가하고 싶습니다.

1 123315334262625363534
1 265343426272282827262
2 224343536625242536363
2 635352627273635373732
3 363353533637383838327
3 635342422325337474524

어떤 제안이 있으십니까?

답변1

그리고 awk:

awk '{getline l; printf "%d %s\n%d %s\n", ++i, $0, i, l}' <in >out

답변2

다른

awk '{print ++count, $0}NR%2{count--}' <in >out

sed+NL

sed 'N;s/\n/@/' <in |
nl |
sed 's/\(\(^\s*[0-9]*\s*\).*\)@/\1\n\2/' >out

답변3

perl -pe 'printf "%d ", .5+$./2'

관련 정보