예. 내가 찾고 있는 단어가 있어요."고양이". 나는 그 단어가 현재 작업 디렉토리 아래 어디든 위치할 수 있다는 것을 알고 있습니다. 그래서 나는 사용한다grep -r, 이는 다음 형식의 결과를 제공합니다.
./example_root/[dir1|dir2]/[SOME_ARBITRARY_SUBPATH]/cat_file,
어디
고양이 파일
단어가 포함된 파일입니다."고양이". 내가 관심이 있는 것에만 관심이 있다면 어떨까요?
/example_root/dir1/[무엇이든_경로]
내 경로의 접두사? 어떻게 말해야 해?grep?
답변1
나는 노력할 것이다
grep -rl cat directory | xargs dirname
어디
grep -rl cat directory
(-r
) 디렉토리에서 cat 및 (-l
) lisy 파일을 반복적으로 검색합니다.| xargs dirname
각 파일은 "제공"되어dirname
파일 부분이 제거됩니다.
답변2
댓글에 있는 @Kusalananda의 답변이 제가 원하는 것입니다. 이렇게 하세요.
grep -r 'cat' /example_root/dir1/
그러나 단어가 발견된 디렉토리 이름을 검색하려는 경우 다음(@Archemar 제공)이 유용할 것입니다.
grep -rl cat directory | xargs dirname