example: sed: -f option
sed
의 -f
옵션은 스크립트 파일에서 sed
명령을 읽어서 실행할 수 있게 해주는 옵션임.
- 이 옵션을 사용하면 복잡한 또는 긴
sed
스크립트를 파일에 저장하여 관리하기 쉽고, 재사용할 수 있게 됨. - 이를 통해 명령 줄이 간결하게 유지되며, 스크립트를 더욱 체계적으로 관리할 수 있음.
특히 복잡하고 긴
sed
명령을 관리할 때 유용함.
스크립트 파일 예제
아래는 sed
스크립트 파일(script.sed
)의 예임.
이 스크립트는:
- 모든 "error" 문자열을 "ERROR"로 대문자화합니다.
- 상태 코드 404를 "Not Found"로 변경합니다.
script.sed
파일 내용:
s/error/ERROR/g
s/ 404 / Not Found /
사용 예: Nginx 로그 파일 수정
Nginx 액세스 로그 파일(nginx_access.log
):
192.168.1.1 - - [10/Oct/2023:13:55:12 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
192.168.1.2 - - [10/Oct/2023:13:55:15 +0000] "POST /form_submit.php HTTP/1.1" 200 150 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
192.168.1.3 - - [10/Oct/2023:13:55:17 +0000] "GET /images/logo.png HTTP/1.1" 404 209 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1"
192.168.1.1 - - [10/Oct/2023:13:55:19 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36"
명령 실행:
sed -f script.sed nginx_access.log
결과 출력:
192.168.1.1 - - [10/Oct/2023:13:55:12 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
192.168.1.2 - - [10/Oct/2023:13:55:15 +0000] "POST /form_submit.php HTTP/1.1" 200 150 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
192.168.1.3 - - [10/Oct/2023:13:55:17 +0000] "GET /images/logo.png HTTP/1.1" Not Found 209 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1"
192.168.1.1 - - [10/Oct/2023:13:55:19 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36"
'Linux' 카테고리의 다른 글
[linux] find 사용법. (0) | 2024.05.11 |
---|---|
[linux] example: sed: -r or -E (0) | 2024.05.11 |
[linux] example: sed: -e option (0) | 2024.05.11 |
[linux] example: sed: -n option (0) | 2024.05.11 |
[linux] sed (stream editor) 사용법 (0) | 2024.05.11 |