grep, awk
정규 표현식을 사용하기 위한
텍스트 파일 추가
^ : 문자열의 시작을 의미
s는 검색할 문자
따라서 s로 시작하는 줄을 찾음
test파일에 대문자 A부터 Z까지
문자 중 하나라도 포함된 줄을 찾음
즉, 대문자가 포함된 모든 줄을 출력
-n : 매칭되는 줄의 번호
-v : 반대의 매칭, 일치 X
즉, s가 포함되지 않는 줄을 찾음
-i : 대소문자 구분하지 않고 검색
urjf라는 문자열을 포함하는 줄을
대소문자 구분 없이 검색함
-C : 컨텍스트 줄을 출력
앞 뒤로 지정된 수의 줄도 함께 출력
sevas를 포함하는 줄과
그 앞뒤 1줄씩 함께 출력
-i : 대소문자 구분 없이 검색
-P : Perl의 정규 표현식 문법을 사용
s 또는 r이 포함된 줄을 찾는 정규 표현식
[^] : 부정(not)을 의미
s가 아닌 다른 문자가 하나라도
포함되어 있는 줄을 찾음
test파일에 전화번호부 내용 추가
[e,o,d]+는 e, o, d 중 하나 이상
포함된 문자열 찾음
[e, o, d]{2} : e, o, d 중 하나가 정확히
2번 나타나는 문자열을 찾음
[0-9] : 0부터 9까지의 숫자 의미
{n} : 문자 및 숫자 n번 반복되는 패턴
(즉, 3글자, 4글자, 4글자를 검색)
xxx-xxxx-xxxx 가 숫자 형식의 전화번호를 찾음
소문자 a부터 z, 대문자 A부터 Z인
5글자인 알파벳이 연속으로 나온 부분을 찾음
^ : 라인의 시작을 의미
[^] : 부정을 의미 (헷갈리지말자)
첫 번째 문자가 대소문자 알파벳으로
정확히 5글자로 이루어진 문자열 찾음
\s : 공백을 의미
a부터 z까지 3개, 1부터 9까지 두 자리 찾음
12월 23일 검색됨
위 내용과 같음
12월 23일 00시 32분 14~35초 검색
awk : 텍스트 처리 도구 (특정 필드 출력)
4번째 필드와 7번째 필드를 출력
-F : : 필드 구분자를 콜론(:)으로 지정
$1 : etc/passwd에서 사용자 이름
$7 : etc/passwd에서 로그인 셸
즉, 사용자 이름과 로그인 셸을 출력
/ etc/passwd 파일에서 사용자 이름이
root로 시작하는 사용자 계정의
이름과 로그인 셸을 출력함
{a+=5}는 a=a+5와 같음
파일이 4줄밖에 없을 때
a는 각 줄마다 5씩 증가하여 출력
END : a의 최종 값(5의 배수)을 출력
BEGIN : 입력을 처리하기전 한번만 실행
/var/log 디렉토리에서 파일을 찾음
\; : -exec 명령어의 끝
sum += $5 : 5번째 열의 파일크기 누적
(총 용량을 계산하는 부분)
count +=1 : 처리한 파일의 수를 셈함
END : 모든 입력을 처리한 후 실행
총 용량을 출력, sum와 count로 나누어
평균 용량을 출력함
'코리아IT아카데미 [국비과정] > 수업' 카테고리의 다른 글
[Linux] 데이터베이스 (0) | 2025.03.14 |
---|---|
[Linux] rsyslog와 rsync (0) | 2025.03.13 |
[Linux/Web] HTML, PHP 구현 (0) | 2025.03.10 |
[Linux] 웹 취약점 및 보안, SSL (0) | 2025.03.10 |
[Linux/Web] HTTP 취약점 및 보안 (0) | 2025.03.06 |