본문 바로가기

Linux/Linux실습

Linux_p #2

doc1,A,C 가 보인다
doc1 부터6까지 보인다
docB 부터 F까지 보인다
확장자가 c나 o로 끝나는 파일을 보인다

 

[centos@centos1 ~]$ touch doc{ument,draft} && mkdir {fall,winter,spring}report

document, docdraft 와 fallreport, winterreport, springreport 가 만들어진다
doc 로 시작하는 파일들
doc 로 시작되거나 끝나는 파일
->report로 끝나는 파일
user_pass.txt. 파일 확인

 

[centos@centos1 ~]$ echo "My name is Tom" >tom.txt

[centos@centos1 ~]$ echo "My name is Mary." > mary.txt

[centos@centos1 ~]$ cmp tom.txt mary.txt

->cmp 비교 / 두 파일이 다름, line1이

 

 

->2, 4 는 a에서만 유일, 5, 7은 b에서만 유일, 1 ,3은 a,b둘다
->[A-E] A부터 E까지 / [AE] A또는 E
->httpd라는 단어가 있는 줄을 보여라
->httpd가 있는줄 / 없는 줄
->#(주석)이 없는줄
->#이 있는줄
->빈 줄을 빼고 보여라
->주석없고 빈줄이 아닌 줄을 보여라,  ->주석(#)과 빈 줄로 시작되지 않는 실제 내용만 줄 번호를 붙여서 보임
->root로 시작되는 줄
->소문자를 대문자로
->root를 Admin변경
->소문자를 대문자로 / 대문자를 소문자로
->alpha - 영문자 빼고 , digit - 10진수 뺴고 , alnum - 영문자 10진수 빼고

 

 

 

 

# sed

-'2p' 두번째 줄만 / '2,5p' 두번째에서 5번째 줄 까지
->'1a\Z' 1번째줄 다음에 즉, 2번째줄에 Z삽입,  ->-e는 원본에 변화가 없다
->'$a\~' 맨 뒤에 추가한다
->G 옵션은 줄마다 공백이 들어간다.
->b를 X라고 바꾸는데 여러 개가 있어 모든 b를 바꾸려면 /g 를 추가한다.
->2번째 줄부터 5번째 줄까지 b를 k로
->4번째 줄을 삭제
->2번째 줄부터 5번째 줄까지 b를 삭제
->2번째 줄부터 4번째 줄까지 보여라
->b로 시작되는 줄을 보여라
->대문자 B, 소문자 b로 시작하는 줄
->B,b를 빼고 시작하는 줄
->-i는 저장옵션 / ZZ추가 저장

 

1) head –5 /root/initial-setup | cat –n 해보고,

2) 단어/어구 변경은 's/바뀔_단어/바꿀_단어/' 형식이다.

sed -e 's/System/SYSTEM/g' /root/initial-setup | head

=>모든 System이 SYSTEM으로 변경됨
=>1~5줄 내에서만 SYSTEM이 SYST로 바뀜

3) 단어/어구 삭제는 '패턴/d' 형식이다.

sed -e 's/System/(빈칸)/gi' /root/initial-setup | head

=>System만 삭제

sed -e 'd' /root/initial-setup | head

=>모든 줄을 삭제하므로 아무 것도 보이지 않는다.

 

sed -e '4d' /root/initial-setup > /root/initial-setup.bak

=>4번째 줄을 지우고 initial-setup.bak으로 저장한다,  =>sed -i '4d' /root/initial-setup 한 것과 동일하다,  =>diff /root/initial-setup /root/initial-setup.bak 해서 차이 나는 곳을 본다.

 

sed -e '3,$d' /etc/passwd | head

=>3줄부터 끝줄까지 삭제

sed -e '1,10d' /etc/passwd | head

=>1~10줄까지 삭제

sed -e '/^#/d' /etc/httpd/conf/httpd.conf | head -20

=>주석#으로 시작되는 줄만 삭제. ^#이 부호라는 의미로 전후에 /~/을 붙였다. 

sed -e '3,7s/sbin/(빈칸)/g' /etc/passwd | cat –n

=>3~7줄에서 sbin만 삭제

sed -e '/^$/d' /etc/httpd/conf/httpd.conf | cat –n

=>공백 줄만 삭제

sed -e '/^$/!d' /etc/httpd/conf/httpd.conf | cat –n

=>공백 줄만 삭제하지 않음

sed -e '3,7d' /etc/passwd | head | cat –n 

=>3~7줄만 빼고 보임

sed -e '/root/d' /etc/passwd | cat –n

=>root가 포함된 줄만 삭제

sed -e '/^#$/d' /etc/httpd/conf/httpd.conf | sed -e '/^$/d' | cat –n

=>주석#과 빈 줄을 모두 삭제

=>sed -i '/^$/d' /etc/httpd/conf/httpd.conf && sed '/^#/d' /etc/httpd/conf/httpd. conf && cat -n /etc/httpd/conf/httpd.conf

=>빈 줄과 주석#을 제외하고 저장함

 

->몇 줄 안으로 들여쓰기 # 줄을 지운다면 sed '\/#/d' /etc/httpd/conf/httpd.conf  식으로 하면 된다.

 

'Linux > Linux실습' 카테고리의 다른 글

Linux_p #12  (0) 2023.02.14
Linux_p #11  (0) 2023.02.13
Linux_p #10  (0) 2023.02.09
Linux_p #9  (0) 2023.02.07
Linux_p #1  (0) 2023.01.13