디렉토리를 검색 중인데 제 경우에는 마지막 디렉토리만 반환됩니다 xyz
. 그런 다음 sed를 사용하여 해당 디렉토리의 다른 모든 확장을 대체하여 이를 달성하고 싶습니다.
내가 시도한 것:
find **/macml/xyz -maxdepth 1 -not -path '*__*' -type d
#Returns the following
macml/xyz
그런 다음 sed와 결합합니다.
find **/macml/xyz -maxdepth 1 -not -path '*__*' -type d -exec sed -E "s|^[macml\/]*||g" {} \+ &
아무것도 반환하지 않습니다.
예상 출력:
xyz
답변1
시도 중인 명령에서 예상되는 "xyz" 출력을 얻으려면 다음 명령을 사용할 수 있습니다.
find /macml/xyz -maxdepth 1 -not -path '__' -type d -exec bash -c 'echo "${0##*/}"' {} + &
이 명령은 경로의 "macml/" 부분을 제거하여 "xyz" 디렉터리를 반환합니다.