
.ai 파일을 많이 .svg로 변환해야 하는데, ai2svg 도구를 찾았습니다. 난 노력 했어
for i in `find ./ -type f -name \*.ai`; do python ai2svg.py "$i"; done
하지만 다음과 같은 오류가 발생합니다.
IOError: [Errno 2] 해당 파일 또는 디렉터리 없음: 'Profile' 역추적(가장 최근 호출 마지막): 파일 "ai2svg.py", 171행, inf = open(sys.argv[1])
파일명이 "Profile test.ai"인 경우. .ai 파일에서 이름의 모든 공백을 미리 제거하는 것 외에는 어떤 방법이 있습니까?
감사합니다.
답변1
이렇게 하면 됩니다:
find . -type f -name \*.ai -exec python ai2svg.py {} \;
대부분의 *nix 도구와 같이 여러 파일을 사용하는 경우 ai2svg.py
다음과 같이 명령을 최소한으로 실행할 수 있습니다.
find . -type f -name \*.ai -exec python ai2svg.py {} +
현재 디렉터리의 파일에만 관심이 있다면 표준 루프를 사용할 수 있습니다.
for file in *.ai
do
python ai2svg.py "$file"
done
답변2
이를 수행하는 올바른 방법은 다음과 같습니다.
find . -maxdepth 1 -type f -name '*.ai' -print0 | while read -d '' -r file; do python ai2svg.py "$file"; done
in과 함께 줄 바꿈 및 탭을 포함 하여 파일 이름의 공백 문자를 처리하는 -print0
옵션 에 유의하세요 .find
-d ''
read