Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- svn update
- ecma
- hex-rays
- why error
- x64
- Python
- 포인터 매핑
- h5py.File
- MySQL
- debugging
- idapython
- Rat
- malware
- open office xml
- mock.patch
- commandline
- error
- ida
- idapro
- Injection
- error fix
- Analysis
- Ransomware
- NumPy Unicode Error
- ida pro
- javascript
- idb2pat
- pytest
- TensorFlow
- data distribution
Archives
- Today
- Total
13 Security Lab
awk의 사용 본문
awk 의 사용
쉘스크립트에서 명령어로서 사용..
어떤 데이터 값들이 있을때 개행문자로 구분하여 필요한 부분을 가져온다.
test.txt안에
안녕하세요 저는 프로그래머입니다.
그런데 어쩌구 저쩌구
테스트 할려고 이글써요.
이렇게 담겨있다면 이글은 공백문자와 개행문자로 구분되었다고 볼수있는데,
쉽게 설명하면 아래와 같다.
안녕하세요 |
프로그래머입니다. | |
그런데 | 어쩌구 | 저쩌구 |
테스트 | 할려고 | 이글써요. |
이때
>> awk 'print $1' 를 하게 되면
안녕하세요
그런데
테스트
위와 같이 나오게 된다.
즉, 가로행은 레코드, 세로행은 필드라하고 할때,
직접 필드를 지정하여 값으로 출력 할 수 있는 것이다
아래와 같이예제를보면
위는, home directory를 출력하는 스크립트로
awk -F: '{print $1, $6}' /etc/passwd | grep -i "$args" 부분만 보면
-F 옵션은 F다음에오는 캐릭터문자를 구분자로 사용하겠다는 말.
즉, ' : '를 구분자로 사용하겠다는말이다.
/etc/passwd
위의 디렉토리 경로 파일 내용에대해서
'{print $1, $6}'
1번 6번 필드를 출력한다는 말이고
그 출력은 | 파이프 라인 뒤 명령어의 입력으로 넣는다는 의미.
즉,
| grep -i "$args"
출력을 grep으로 전달하고 (pipe), awk 출력 중에서 args와 동일한 것만 취한다.
“-i": ignore case (대소문자 무시)
또는 #!/bin/awk
로서 하나의 스크립트언어로 사용...
찾다 보니 더
설명이 잘된것을 찾았다...
AWK
Awk 사용법 2
Comments