리눅스 기반 서버관리에 직종중입니다... 제가 쉘스크립트를 구현중에 유저를 자동삭제하는 부분에서 막혀버렸습니다. 어느 특정 문서의 유저정보 문자열을 삭제하려고 하는데요... 문서 중간중간에 삽입된 삭제하려는 유저의 정보를 삭제할 방법이 떠오르지 않아 이렇게 글을 남깁니다... 유저등록의 경우 리다이렉션과 파이프로 어떻게 넣을수 있겠는데요, 문자열 삭제의 경우 어떻게 해야할지 막막하네요... 도움 부탁드립니다~
예를 들어 a.txt라는 문서에
'홍길동' '고길동'
이라고 있다면
cat a.txt | sed '/홍길동/d' > b.txt mv b.txt a.txt
이런식으로 하셔도 될거 같군요...
sed를 이용하면 됩니다. sed는 정규식을 이용해서 문자열을 조작할수 있게해주는 비대화형 편집기입니다.
윗분이 사용하신 /홍길동/d 정규식은 '홍길동'이 들어간 줄을 지웁니다.
만약 사용자이름만 지우려면 s/홍길동//g 를 사용하시면 '홍길동'이란 단어만 지워주죠.
다음은 sed로 검색한 구글 첫번째 결과입니다.http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/x12718.html
참고하세요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
예를 들어 a.txt라는
예를 들어 a.txt라는 문서에
'홍길동'
'고길동'
이라고 있다면
cat a.txt | sed '/홍길동/d' > b.txt
mv b.txt a.txt
이런식으로 하셔도 될거 같군요...
윗분말씀대로
sed를 이용하면 됩니다. sed는 정규식을 이용해서 문자열을 조작할수 있게해주는 비대화형 편집기입니다.
윗분이 사용하신 /홍길동/d 정규식은 '홍길동'이 들어간 줄을 지웁니다.
만약 사용자이름만 지우려면 s/홍길동//g 를 사용하시면 '홍길동'이란 단어만 지워주죠.
다음은 sed로 검색한 구글 첫번째 결과입니다.
http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/x12718.html
참고하세요.
댓글 달기