파일 파싱 및 검색 질문

bitsonata의 이미지

두개의 파일이 있습니다.

A는 전화번호 리스트를 가지고 있고,
B는 가중치 숫자와 전화번호를 쌍으로 가지고 있습니다. (공백으로 구분)

--- ---
A B
--- ---
01010002000 500 01010012000
01010012000 300 01010052000
... ...

하고자 하는 것은 B 파일의 내용에서 A파일의 번호가 포함된 행만 출력 하고 싶습니다.

별도 스크립트를 파일로 작성해서 하는 방법 말고,

명령줄에서 cat, grep, awk등을 사용해서 할 수 있는 방법이 있을까요?

A파일을 행단위로 입력해서 특정 명령을 실행하도록 하고 싶습니다...

xargs를 사용하면 될듯 한데, 인수가 단일 명령어로 받는 형태를 생각하기가 어렵네요...

bitsonata의 이미지

처음 질문이라 수정하는 법을 모르겠네요 @@

두개의 파일예시는 아래와 같습니다.

--A--
01010002000
01010012000
...

--B--
500 01010012000
300 01010052000

bushi의 이미지

bash라면,

while read; do grep "$REPLY" B; done < A
bitsonata의 이미지

네, 감사합니다. 잘 되네요 ^^

$REPLY 변수에 대해 새롭게 알았습니다!

ymir의 이미지

$ grep -f A B
500 01010012000

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

bitsonata의 이미지

이런 간단한 방법이.. grep이 이런 기능도 있군요.

감사합니다.

(이 방법은 정렬이 되서 출력되네요)