Self-Improvement
2) 쉘 프로그래밍에서 유용하게 쓰이는 CMD 본문
*grep CMD
특정단어를 검색하는 명령어
//옵션
-i : 대소문자 구분없이 검색
-l : 검색단어가 들어있는 파일 검색
ex) #grep -l root /etc/hosts /etc/passwd
-n : 라인번호 검색
-v : 검색단어를 제외하고 검색
-w : 단어로 되어있는 검색
*sed CMD
원본파일을 건들이지 않으며 명령어를 통하여 편집하고 모니터에 출력하는 명령어
※grep CMD과 비슷하지만 sed CMD는 특정 단어에서 특정 단어까지 검색이 가능
1.p CMD
#sed -n '1,3p' /etc/passwd (1~3까지만 출력)
#sed '1,3p' /etc/passwd (전체내용 한번출력되고 1~3까지 한번더 출력)
#sed -n '1,/adm/p' /etc/passwd (첫번째줄에서 adm이 들어간 라인까지 출력)
#chkconfig --list | sed -n '/xinetd based/,$p'
※원본파일엔 영향 x
2.d CMD
#sed '1,3d' /etc/hosts (1~3까지의 라인 삭제후 모니터에 출력)
#sed '3d' /etc/passwd (3번째라인만 삭제후 출력)
#sed '$d' /etc/passwd (마지막라인 삭제후 출력)
#sed '/root/d' /etc/passwd (root가 들어간 라인 삭제후 출력)
※원본파일엔 영향 x
3.s CMD
#sed 's/root/ROOT/' /etc/group (root을 ROOT로 치환후 출력)
#sed 's/^....//' /etc/hosts (첫번째 네글자를 공백으로 치환후 출력)
#sed '1,3s/^/ /' /etc/hosts (1~3라인의 첫번째에 공백추가 치환후 출력)
#sed 's#/test/file.sh#/test/file.c#g' file1 ('/'가 있는 검색시 #으로 대체가능)
#sed 's;/test/file.sh;/test/file.c;g' file1 ('/'가 있는 검색시 ;으로 대체가능)
#sed 's/root/ROOT/' /etc/group > /tmp/.file1 (치환한 것을 file1에 저장)
#sed '/linux200/s/192.168.20.200/172.16.20.200/' /etc/hosts > /tmp/.file1 (linux200이 들어있는 라인의 주소를 치환후 file1에저장)
※원본파일엔 영향 x
//옵션
-i : 변경된 사항을 모니터에 출력도하며 원본파일에도 적용
*awk CMD
#awk '{print $0}' /etc/passwd
#awk -F : '{print $3,$5}' /etc/passwd
#awk -F : '{print $3"\t"$5}' /etc/passwd
#awk -F : '{print $3 "is using" $5 "bytes"} /etc/passwd
#awk '/root/ { print $1, $2 }' testfile
#awk -F: '$3 > 499 && $3 < 60000 {print $1}' /etc/passwd
#ps -elf | awk '$2 == "Z" {print $0}'
*기타명령어
1.sort CMD
#du -sk * | sort -nr
#sort -u /etc/passwd (중복을제외한 단어하나씩 출력)
#sort /etc/passwd | uniq -d (file1의 중복되는 단어 출력)
#sort /etc/passwd | uniq -u (file1의 중복되지않는 단어 출력)
ex)
#cat file1 file1.bak > sum.txt
#sort sum.txt | uniq -u
2.cut CMD
※awk명령어와 비슷한부분이 많다.
#cut -c1-3 /etc/passwd (1~3자리수만 출력)
3.uniq CMD
※sort 명령어와 같이 사용해야함
#sort file1 | uniq -d (중복되는 것을 출력)
#sort file1 | uniq -u (중복이 없는 것을 출력)
4.tr CMD
#cat /etc/passwd | tr "[A-Z]" "[a-z]" (대소문자를 소문자로 치환)
5.split CMD
#split -l 4 file1 (file1을 4줄씩 분할하여 파일 생성)
#split -d -l 4 file1 (file1을 4줄씩 분할하여 숫자형식 제목으로 파일 생성)
6.paste CMD
#pastte file1 file2
'프로그래밍 > Shell' 카테고리의 다른 글
5) 쉘 스크립트 연산자 및 조건문 test CMD (0) | 2018.10.21 |
---|---|
4) 쉘 스크립트 echo, read (0) | 2018.10.21 |
3) 쉘 스크립트 실행 방법, 편리 설정 (0) | 2018.10.21 |
1) Bash 쉘 기능 및 특성 (0) | 2018.10.21 |
쉘스크립트 signal사용 (0) | 2018.10.20 |