it-swarm-ko.com

텍스트 파일의 각 줄에 줄 번호와 탭을 붙이려면 어떻게해야합니까?

텍스트 파일의 각 줄 시작 부분에 줄 번호와 탭을 어떻게 추가 할 수 있습니까?

45
Richard Hoskins
awk '{printf "%d\t%s\n", NR, $0}' < filename
49
pgs

Nl 명령이이를 수행해야하지만 행 번호 앞에 공백도 추가합니다. Linux coreutils의 일부입니다.

nl lines.txt
 1  $bkWTN
 2  $cV8$.
55
ACoolie
sed = test.txt | sed 'N;s/\n/\t/'

"sed ="명령은 줄 번호와 캐리지 리턴, 다음 줄을 출력합니다.

"N; s/\ n/\ t /"표현식은 각 줄을 가져 와서 다음 줄 (예 : 줄 번호와 줄)을 가져오고 캐리지 리턴을 탭으로 바꿉니다.

10
Callum
cat -n <yourfile> | Perl -pe "s/^\s*(\d+)\s+/\1\t/"

cat -n은 행 번호를 "123 linecontents"로 추가하고 regexp는이를 "linenumberTABlinecontents"로 수정합니다.

4
raspi
Perl -pe "s/^/$.\t$_/" file.txt

또는

Perl -ne "print qq($.\t$_)" file.txt
3
itsadok

다음은 한 줄짜리 bash 솔루션입니다.

$ IFS=$'\n';x=1;for l in $(<file.txt);do echo -e "$x\t$l";((x+=1));done
$ IFS=

첫 번째 IFS 설정은 bash에게 한 번에 전체 줄을 읽도록 지시합니다. 두 번째 줄은 IFS를 기본값으로 재설정합니다.

추가 보너스로, 그것은 당신의 쉘에서 완전히 실행되며 프로그램을 실행하지 않습니다!

2
P. Heffner

어때요?

cat -n somefile.txt

?

2
innaM

좋아요, 우리는 이것을하는 방법을 모으고 있기 때문에,

 grep -n . file.txt | sed 's/\(^[0-9]*\):/\1    /g'
 # this is a tab with Ctrl-V + Tab  =====>  ---- 
1
nik
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'

또는 일부 비 GNU seds의 경우 :

cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'
1
chaos