sed/awk의 출력값으로 grep의 찾을문자열로 받기
글쓴이: shwezarl / 작성시간: 수, 2010/10/06 - 11:28오전
메인 파일(a.txt)이 하나 있습니다..
a.txt에서 특정 단어가 들어간 줄을 제외하고 다시 a.txt로 만들려고 합니다.
그런데 제가 shell밖에..쓸줄모릅니다. 제대로쓸지모르지만..대충..(C/C++등의 언어는 못합니다.)
어째든 a.txt에서 원하는 줄을 제외하고 다시 쓸려고..제외시켜야할 단어가 들은 파일 b.txt를 만들어
b.txt를 읽어서 제외하려고 만들어보다가..
막히는 부분이...
sed -n '1p' b.txt | grep -v ""
awk 'NR=='1' {print $1}' | grep -v ""
이런식으로 하려는데 "|" 다음에 넘어오는 결과값이 grep으로 가져오는게.."파일명"부분인거 같아서..
원하는결과값이 안나오는거같아요
앞의 결과값으로 grep 의 찾는문자열로 오면 원하는값이 출력될수있을듯한데...
고수님들의 조언 부탁드립니다..
다른 방법이 있다면 말씀해주세요~^^('')(..)
Forums:
Perl one liner로
흠..
/(words|to|remove)/ 이부분에 지워야할 문자를 넣어야하나요?
그렇다면..
b.txt에
11323_80_130
11252_80_333
.
.
.
.
이런식으로 지워야할 내용들이 한줄씩 있다면
/(words|to|remove)/ 이부분에
/sed -n '1p' b.txt/ 라고 넣고 1p를 올려가면서 하려하는데 잘안되네요...
좀더 설명좀부탁드립니다..('')(..)
$ for i in `cat b.txt`; do
$ for i in `cat b.txt`; do sed -i "/${i}/d" a.txt; done
아..감사합니다.
^^&
음...
굳이 sed 를 안 써도 된다면...
$ grep -v -f b.txt a.txt
그냥 grep 명령으로 처리가 됩니다.
위 결과를 임시 파일에 저장하고, 다시 a.txt 에 덮어 씌우면 되겠죠.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
아..이런게...감사합니다.
옵션의 다양성...다양하게 많이보고 공부해야겠네요..
댓글 달기