클립보드(파일 이름 아님)에서 검색어를 grep으로 파이핑하여 폴더 검색

클립보드(파일 이름 아님)에서 검색어를 grep으로 파이핑하여 폴더 검색

xseltxt 파일로 가득 찬 폴더에서 검색하기 위해 클립보드를 사용하여 검색어를 파이프 하려고 합니다 grep. 누구든지 그것을 수행하는 방법을 제안할 수 있습니까?

답변1

재귀 옵션을 grep지원하는 구현 :-rgrep

grep -rFe "$(xsel -b -o)" /path/to/your/folder

다른 grep구현의 경우 다음을 사용하여 find파일을 검색합니다.

find /path/to/your/folder -type f -exec \
  grep -Fe "$(xsel -b -o)" /dev/null {} +

이는 /dev/null최소한 2개의 파일 이름이 전달되도록 하기 위한 것이므로 grep항상 grep문자열이 있는 파일 이름을 인쇄합니다.

CLIPBOARD 선택 항목에 두 개 이상의 줄이 포함되어 있으면 각 줄이 별도로 검색됩니다. 예를 들어, 선택 항목에 이 포함되어 있으면 또는 (또는 둘 다)이 a<newline>b포함된 행이 보고됩니다 .ab

대신 일치시키려면 여러 줄 모드를 a<newline>b사용할 수 있습니다 .pcregrep

pcregrep -rM "\Q$(xsel -b -o | sed 's/\\E/&\\&\\Q/g'; printf '\\E')" /path/to/folder

관련 정보