리눅스의 cat(concatenate) 명령은 파일 내용을 텍스트 형태로 출력하는 기능을 합니다.
파일 내용을 확인하기 위해 자주 사용됩니다. cat 명령은 grep, more 명령어와 같이 사용할 수 있습니다.
cat --help 입력 시 옵션을 확인할 수 있습니다.
n 옵션을 사용하면 행 번호가 표시됩니다.
more 명령어는 페이지 단위로 출력되며, 스페이스를 입력하면 페이지를 넘길 수 있습니다.
Ctrl+c를 입력하면 출력이 종료됩니다.
grep 명령어는 내용에서 특정 문자열로 필터 하여 문자열이 들어있는 행을 출력하는 기능입니다.
grep --help 입력 시 옵션을 확인할 수 있습니다.
-v : pattern을 포함하지 않는 행 출력
-n : 검색 결과에 번호 표시
-l : 파일명만 출력
-c : 패턴과 일치하는 행의 개수만 출력
-r : 하위 디렉터리까지 검색
-E : 정규 표현식 사용
아래는 grep 명령어를 사용하는 예제입니다.
cat log.txt | grep -E "service=dns|service=icmp" | more
or (service가 dns이거나 icmp인 행 출력, | 로 구분)
cat log.txt | grep -E "policy_id=1.*service=icmp" | more
and (policy_id=1이고 service가 icmp인 행 출력, .*로 구분)
cat log.txt | grep -v "service=dns" | more
not (service가 dns가 아닌 행 출력, -v 옵션)
cat log.txt | grep -E "service=dns|service=icmp" | more
service가 dns이거나 icmp인 행 출력
cat log.txt | grep "service=dns" > filter.txt
명령어 뒤에 >를 입력하고 파일명을 입력하면 결과를 파일로 저장합니다.
> 덮어쓰기
>> 이어서 저장