grep과 일치하는 stdout을 사용하여 파일의 값을 어떻게 나열할 수 있나요?

grep과 일치하는 stdout을 사용하여 파일의 값을 어떻게 나열할 수 있나요?

항목 목록이 포함된 파일이 있는데 각 항목은 별도의 줄에 있습니다.

Apigee API,
BigQuery API,
Cloud Build API

gcloud 명령어를 사용하여 gcloud services list --available터미널 서비스를 나열하고 있는데 출력은 다음과 유사합니다.

bigquery.googleapis.com BigQuery API

gcloud 명령어를 실행한 다음 위 목록의 각 항목에 대해 grep을 실행하고 관련 내용을 *.googleapis.com새 파일에 출력하고 싶지만 grep 명령어를 사용하는 데 몇 가지 문제가 있습니다.

gcloud services list --available | grep -F -f list.txt associatedfile.txt이와 같은 것을 시도했지만 associatedfile.txt.

답변1

파이프라인이 다음과 같은 경우

gcloud services list --available | grep -F -f list.txt associatedfile.txt

그러면 의 출력이 아닌 텍스트에서 텍스트를 읽고 필터링합니다 grep. 하나 이상의 경로 이름이 명령줄에서 피연산자로 제공되면 유틸리티는 표준 입력 스트림을 읽지 않습니다.associatedfile.txtgcloudgrep

gcloud출력을 필터링 grep하고 결과 출력을 쓰려면 associatedfile.txt리디렉션을 사용하십시오.

gcloud services list --available | grep -F -f list.txt >associatedfile.txt

또한 각 줄 끝에 있는 쉼표가 실제 검색어의 일부가 아닌 경우 제거해야 합니다.

관련 정보