[unix] Filter
2022.01.27
Filter
wc
- Word Count
- 파일의 내용의 줄, 단어, 크기를 출력하는 명령어
- wc 파일명
- 옵션) -l(줄 수), -w(단어 수), -c(byte 수)
- ex) wc -l list.txt(list.txt의 줄 수만 출력)
- ex) ls | wc -l
- 현재 디렉토리의 파일 목록을 출력 후 출력된 목록의 줄 수 출력 = 현재 디렉터리의 파일 수 출력
find
- 하위 디렉토리들에서 특정 파일을 찾는 명령
- 옵션 -name(이름), -o(OR), -size + OR - 숫자, -type d OR f
- ex) find . -name ".java" -o -name ".jsp" -o -size -2K
- 현재 디렉토리 중 파일 확장자가 java나 jsp이거나 파일크기가 2k이하인 파일 찾기
- ex) find . -type d(현재 디렉토리 아래에서 디렉토리의 경로명 출력)
xargs
- 이전 데이터의 목록을 각각 다음 명령 실행
- ex) find src -name "*.java" | wc -l
- src 디렉토리 아래의 *.java 파일의 경로명을 출력하고 표준 입력에서 입력된 목록의 줄 수 출력
- => src 폴더 아래의 *.java 파일의 수를 출력
- ex) find src -name "*.java" | xargs wc -l
- src 디렉토리 아래의 *.java 파일의 경로명을 출력하고 표준 입력에서 입력된 목록의 각각 파일의 줄 수 출력
- => src 폴더 아래의 *.java 파일 별의 줄 수 출력)
head
- 입력에서 선두 몇 줄만 출력
- ex) head -n 10 test.java
grep
- 파일에서 문자열 패턴을 찾아 그 패턴이 포함된 줄만 출력
- 표준 입력에서 문자열 패턴을 포함하는 줄만 출력하는 필터로 사용
가능
- ex) grep main *.java
- 현재 폴더의 java 파일 중 main이라는 문자열이 있는 파일명 출력
- ex) ls -l | grep zip
- 현재 폴더에서 zip 문자열이 포함된 줄 출력, 압축 파일 찾기
less
- 표준 입력의 내용을 한 페이지 씩 끊어서 출력해주는 필터
- ex) ls -l | less(현재 디렉토리의 목록을 한 화면 씩 끊어서 출력)