스크립트를 작성 중인데 Google의 도움을 받아도 막히네요.
이것은 내 코드입니다.
"find"에 있는 폴더의 경우 -d | sed "s#^.#$(pwd)#" sed 's/ /\ /g'` 하다 에코 "$폴더" 완벽한
이렇게 하면 ""의 첫 번째 인스턴스만 "\"으로 바뀌고 나머지는 바뀌지 않습니다.
어떤 아이디어가 있나요?
답변1
이 방법으로 명령을 작성하는 것을 잊어버리고 다음을 사용하십시오 find -execdir
.
find . -type d -execdir sh -c 'pwd' \;
또는 zsh를 사용하십시오.
for d in **/*(/); do
echo $d
done
답변2
xargs
반복하는 대신 요소 목록에 대해 동일한 명령을 수행 할 수 있습니다 . 공백을 처리하는 몇 가지 옵션이 있습니다.
답변3
내 생각엔 당신이 모든 것을 복잡하게 만드는 것 같아요.
어쩌면 이것이 필요할 수도 있습니다:
find $(pwd) -type d | sed 's/ /\\ /g'