![pdftotext find에서 색상으로 구분된 결과를 유지하여 정렬](https://rvso.com/image/168779/pdftotext%20find%EC%97%90%EC%84%9C%20%EC%83%89%EC%83%81%EC%9C%BC%EB%A1%9C%20%EA%B5%AC%EB%B6%84%EB%90%9C%20%EA%B2%B0%EA%B3%BC%EB%A5%BC%20%EC%9C%A0%EC%A7%80%ED%95%98%EC%97%AC%20%EC%A0%95%EB%A0%AC.png)
결과를 정렬하지 않는다는 점을 제외하면 완벽하게 작동하는 find 명령이 있습니다. path = 검색하려는 폴더의 경로 foo = 검색어
find /path/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color -i "foo"' \;
결과(내 화면에서 'foo'는 빨간색으로 표시됨)
me@myComp ~ $ find /path/ -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color -i "foo"' \;
/path/lesson 05.pdf:a foo
/path/lesson 05.pdf: (to have) a foo when I was 10 years old.
/path/lesson 07.pdf:a foo
/path/lesson 07.pdf:Elephant – foo – heavy
/path/lesson 07.pdf:Elephant – foo – heavy – light
/path/lesson 07.pdf:tigers – high – foos – to jump
/path/lesson 04.pdf:10 My foo (not to eat) fat.
/path/lesson 06.pdf:A: John lost the foos collar. B: Is this its ? (rarely used)
/path/lesson 06.pdf:A: This is my foo. .......... is a chihuahua. .......... name is Sleeper.
foo를 빨간색으로 유지하면서 경로/파일 이름에서 결과를 알파벳순으로 정렬하는 방법이 있습니까? 보시다시피 04.pdf 레슨은 07.pdf 레슨과 06.pdf 레슨 사이에 있습니다.
사용 | 마지막에 정렬하면 foo가 더 이상 빨간색이 아니라는 점을 제외하면 원하는 결과가 제공됩니다.
매우 감사합니다
답변1
나는 이것이 당신이 원하는 것을 해야 한다고 생각합니다.
while read file; do pdftotext "$file" | grep --with-filename --label="$file" --color -i "foo"'; done < <(find /path/ -name '*.pdf' | sort)