Programing

문서에서 줄을 세는 방법은 무엇입니까?

lottogame 2020. 9. 28. 07:55
반응형

문서에서 줄을 세는 방법은 무엇입니까?


이런 줄이 있는데 실제로 얼마나 많은 줄이 있는지 알고 싶습니다.

09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00
09:16:40 AM  all    5.00    0.00    0.00    4.00    0.00    0.00    0.00    0.00   91.00
09:16:41 AM  all    0.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:42 AM  all    3.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:43 AM  all    0.00    0.00    1.00    0.00    1.00    0.00    0.00    0.00   98.00
09:16:44 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
09:16:45 AM  all    2.00    0.00    6.00    0.00    0.00    0.00    0.00    0.00   92.00

Linux 명령을 사용하여 모두 계산하는 방법이 있습니까?


사용 wc:

wc -l <filename>

다음의 줄 수를 출력합니다 <filename>.

$ wc -l /dir/file.txt
3272485 /dir/file.txt

또는 <filename>결과에서 를 생략하려면 다음 을 사용하십시오 wc -l < <filename>.

$ wc -l < /dir/file.txt
3272485

데이터를 다음 wc으로 파이프 할 수도 있습니다.

$ cat /dir/file.txt | wc -l
3272485
$ curl yahoo.com --silent | wc -l
63

모든 라인을 계산하려면 다음을 사용하십시오.

$ wc -l file

패턴 사용이있는 행만 필터링하고 계산하려면 다음을 수행하십시오.

$ grep -w "pattern" -c file  

또는 -v를 사용하여 일치를 반전시킵니다.

$ grep -w "pattern" -c -v file 

-e, -i 및 -x 인수를 보려면 grep man 페이지를 참조하십시오.


wc -l <file.txt>

또는

command | wc -l

여러 가지 방법이 있습니다. 사용 wc은 하나입니다.

wc -l file

기타 포함

awk 'END{print NR}' file

sed -n '$=' file (GNU sed)

grep -c ".*" file

이 도구는 wcUNIX와의 "단어 카운터"입니다 유닉스 운영 체제, 당신은 또한 추가하여 파일에 줄을 계산하는 데 사용할 수있는 -l옵션을, 그래서 wc -l foo의 줄 수를 계산합니다 foo. 또한 다음과 같은 프로그램의 출력을 파이프 할 수 있습니다. ls -l | wc -l, 현재 디렉토리에있는 파일 수를 알려줍니다.


디렉토리에있는 모든 파일의 전체 행을 확인하려면 find 및 wc를 사용할 수 있습니다.

find . -type f -exec wc -l {} +

사용 wc:

wc -l <filename>

원하는 것은 줄 수뿐이라면 (다시 오는 줄 수와 멍청한 파일 이름이 아님) :

wc -l < /filepath/filename.ext

앞서 언급했듯이 이것들도 작동합니다 (그러나 다른 이유로 열등합니다) :

awk 'END{print NR}' file       # not on all unixes
sed -n '$=' file               # (GNU sed) also not on all unixes
grep -c ".*" file              # overkill and probably also slower

다음 nl과 같이 사용하십시오 .

nl filename

에서 man nl:

줄 번호를 추가하여 각 파일을 표준 출력에 기록합니다. FILE이 없거나 FILE이-인 경우 표준 입력을 읽습니다.


I've been using this:

cat myfile.txt | wc -l

I prefer it over the accepted answer because it does not print the filename, and you don't have to use awk to fix that. Accepted answer:

wc -l myfile.txt

But I think the best one is GGB667's answer:

wc -l < myfile.txt

I will probably be using that from now on. It's slightly shorter than my way. I am putting up my old way of doing it in case anyone prefers it. The output is the same with those two methods.


Above are the preferred method but "cat" command can also helpful:

cat -n <filename>

Will show you whole content of file with line numbers.


I saw this question while I was looking for a way to count multiple files lines, so if you want to count multiple file lines of a .txt file you can do this,

cat *.txt | wc -l

it will also run on one .txt file ;)


wc -l file.txt | cut -f3 -d" "

Returns only the number of lines


cat file.log | wc -l | grep -oE '\d+'
  • grep -oE '\d+': In order to return the digit numbers ONLY.

Redirection/Piping the output of the file to wc -l should suffice, like the following:

cat /etc/fstab | wc -l

which then would provide the no. of lines only.


Or count all lines in subdirectories with a file name pattern (e.g. logfiles with timestamps in the file name):

wc -l ./**/*_SuccessLog.csv

I know this is old but still: Count filtered lines

My file looks like:

Number of files sent
Company 1 file: foo.pdf OK
Company 1 file: foo.csv OK
Company 1 file: foo.msg OK
Company 2 file: foo.pdf OK
Company 2 file: foo.csv OK
Company 2 file: foo.msg Error
Company 3 file: foo.pdf OK
Company 3 file: foo.csv OK
Company 3 file: foo.msg Error
Company 4 file: foo.pdf OK
Company 4 file: foo.csv OK
Company 4 file: foo.msg Error

If I want to know how many files are sent OK:

grep "OK" <filename> | wc -l

OR

grep -c "OK" filename

count number of lines and store result in variable use this command:

count=$(wc -l < file.txt) echo "Number of lines: $count"


As others said wc -l is the best solution, but for future reference you can use Perl:

perl -lne 'END { print $. }'

$. contains line number and END block will execute at the end of script.


I just made a program to do this ( with node )

npm install gimme-lines
gimme-lines verbose --exclude=node_modules,public,vendor --exclude_extensions=html

https://github.com/danschumann/gimme-lines/tree/master

참고URL : https://stackoverflow.com/questions/3137094/how-to-count-lines-in-a-document

반응형