여러 파일의 행 수를 알고 싶어서 명령으로 얻어 보았습니다.
모두 등 정도의 크기의 파일 작성하고 있는 것일까?
기존 파일은 얼마나 큰가?
각 파일의 행 수를 알고 싶습니다.
있다고 생각합니다.
공부도 겸해, 커맨드로 취득해 보기로 했습니다!
실행 환경
windows10에 WSL을 이용하여 Linux(Ubuntu)를 설치해 명령했습니다.
행 취득
wc 명령 사용
다음과 같이
wc 대상 파일이라고 기재하면
$ wc *.txt
13 13 38 t01.txt
38 33 106 t02.txt
4 3 7 t03.txt
21 18 43 t04.txt
75 33 116 t05Service.txt
18 16 35 t06Service.txt
148 14 171 t07Service.txt
317 130 516 total
현재 디렉토리에 존재하는 txt 파일의 정보를 얻을 수 있습니다.
획득한 정보는 항목별로 표시됩니다.
行数 単語数 ファイル容量(バイト数) ファイル名称
13 13 38 t01.txt
...
...
317 130 516 total ここは合計
이 상태로 여분의 정보가 많기 때문에
-l 옵션으로 행 수만 취득
~/work$ wc *.txt -l
13 t01.txt
38 t02.txt
4 t03.txt
21 t04.txt
75 t05Service.txt
18 t06Service.txt
148 t07Service.txt
317 total
행수와 파일명만이므로 상당히 보기 쉬워졌습니다.
행 수순으로 표시.
wc 명령 파이프 '|' sort 명령을 사용했습니다.
$ wc *.txt -l | sort
4 t03.txt
13 t01.txt
18 t06Service.txt
21 t04.txt
38 t02.txt
75 t05Service.txt
148 t07Service.txt
317 total
좋은 느낌으로 파일 행수순으로 늘어놓았습니다.
다음은 「***Service.txt」파일만 취득해 보겠습니다.
$ wc *Service.txt -l | sort
18 t06Service.txt
75 t05Service.txt
148 t07Service.txt
241 total
했어! 서비스 파일의 행 수만 검색할 수 있습니다.
...
이번에는 평균 표시!
우선 TOTAL의 행이 방해이므로 삭제합니다.
sed 명령을 사용했습니다.
이것은 주소부에 $를 지정하면 마지막 행을 나타내므로 그에 대해 d(삭제)를 실행합니다.
$ wc *.txt -l | sort | sed '$d'
4 t03.txt
13 t01.txt
18 t06Service.txt
21 t04.txt
38 t02.txt
75 t05Service.txt
148 t07Service.txt
사라졌습니다!
또한
awk 명령으로 평균을 표시합니다.
$ wc *.txt -l | sort | sed '$d' | awk '{n += $1}{i +=1 }; END{print int(n/i) }'
45
상기의 커멘드로부터 평균행수 「45」를 취득할 수 있었습니다! !
덧붙여서 awk가 무엇을 하고 있는가 하면. . .
1行毎に 行数をnにプラス iに+1 全行終わったら 表示 少数点切り捨て(n÷i)
awk '{n += $1} {i +=1 }; END {print int(n/i) }'
같은 느낌입니다.
wc 명령의 옵션은 다음과 같습니다.
-l
ファイルの行数を表示する。
-c
ファイルのバイト数を表示する。
-m
ファイルの文字数を表示する。
-L
最も長い行のバイト数を表示する。
-w
ファイルの単語数を表示する。
사용하지 않았지만 다음과 같은 명령으로 파일 수를 확인할 수있는 것 같습니다.
$ ls -1 | wc -l
lsコマンドのオプションは「-1(数字の1)」
wcコマンドのオプションは「l(アルファベットのLの小文字)」
참고
텍스트의 마지막 줄만 지우고 싶을 때, 어떻게 하면 좋을까?
awk 정보
Reference
이 문제에 관하여(여러 파일의 행 수를 알고 싶어서 명령으로 얻어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_nsk_/items/e51f46f5c782f3b0a0cb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)