2016-12-13 1 views
3

저는 며칠 동안이 작업을 해왔으며 알아낼 수 없었습니다. 많은 연구를했지만 지금까지 아무 것도 작동하지 않아서 물어볼 것이라고 생각했습니다. 그래서 여기에 내가있는 위치 : 나는 터미널에서 bash 3.2.57 (1) -release를 실행 중이며 작동하려면이 코드를 얻을 수 있었다. 그것이하는 일은 내가 작업하고있는 파일 서버의 폴더에 'cd'를 넣었을 때 초과 문법을 '_'로 대체합니다. 그 이유는 '/'을 좋아하지 않는 Microsoft Sharepoint로 Mac에서 파일 서버를 마이그레이션하기 때문입니다.터미널이 모든 하위 디렉토리에 명령을 적용합니다.

for i in *; do mv "$i" "${i//[\/<>:\\|*\'\"?]/_}"; done 

이제 모든 하위 디렉토리에서 코드가 실행되도록하려고합니다. 파일 서버는 매우 clunky하고 서브 폴더의 톤이 주위에 얻을 수없는 그들의 이름에 공백이 있습니다. 도움이 될 것입니다! 미리 감사드립니다.

+1

mv synthax에서 좋은 직장입니다. –

답변

1

사용 대신에의 발견 :

find . -type f | while read i ; do echo "$i" ; done 

그 출력이 당신이 작동 (하지 않는 경우 찾기 옵션을 MOD) 다음 MV 명령 에코를 대체하고자하는 파일의 목록 인 경우.

관련 문제