
find 명령의 출력은 다음과 같습니다.
/home/user/test/folder1/abc.png
이제 나는 얻고 싶다
폴더 1
위의 문자열에서
답변1
경로 왼쪽의 고정 위치 또는 오른쪽의 고정 깊이를 기준으로 경로의 해당 부분을 찾고 계십니까? 왼쪽에서 보는 경우 다음과 같이 필드 구분 기호로 "/"를 사용하고 네 번째 필드를 잡아서 cut을 사용하여 쉽게 이 작업을 수행할 수 있습니다.
find ... | cut -d/ -f4
답변2
path=/home/user/test/folder1/abc.def
folder=$(basename $(dirname $path))
또는 find 출력에 대해 작업하려는 경우(예: 여러 경로, 한 줄에 하나씩)
find ... | awk -F/ '{print $(NF-1)}'
find ... | sed 's#.*/\([^/]*\)/[^/]*$#\1#'
답변3
나는 awk를 사용할 것이다.
그것은 다음과 같습니다:
find /home -name "abc.png" | awk -F"/" '{print $5}'
답변4
내 시도는 다음과 같습니다.
find . -name abc.png -exec dirname {} \; |grep -o '[^/]*$'