2010-01-30 5 views
0

Bash를 사용하여 XCode에서 Automator 동작을 만들면 모든 파일과 폴더 경로가 stdin에 인쇄됩니다.파일과 폴더를 인자로 사용하여 bash에서 Automator 액션을 작성하려면 어떻게해야합니까?

어떻게 파일의 내용을 가져 옵니까? 무엇을 시도해도 파일 이름 만 출력됩니다.

"쉘 스크립트 실행"을 선택하면 모든 것을 표준 입력 또는 인수로 선택할 수 있습니다. Xcode 프로젝트에서이 작업을 수행 할 수 있습니까?

AppleScript를 사용하는 것이 거의 쉬워서 Bash를 실행할 수 있습니다.

나는 스크립트의 표준 입력에서 라인을 읽어

xargs | cat | MyCommand 

답변

0

이 일을 xargscat 사이의 파이프 기능 : 단지 확인 경로 이름은 백 슬래시 공백을 탈출없이 전송하는 경우 방해하지 않습니다 뭔가 $IFS을 설정할 수 있도록? 시도

xargs cat | MyCommand 

또는 더 나은,

xargs -R -1 -I file cat "file" | MyCommand 

제대로 대신, 당신은 MyComand 각 파일에 호출하려는 경우 등 공간

와 파일 이름을 처리하기 위해,

local IFS="\n" 
while read filename; do 
    MyCommand < $filename 
done 

도 유용 할 수 있습니다.

+0

야간에 코드 생성 안 함 ... – Pepijn

+0

xargs에 대한 옵션을 설명 할 수 있습니까? 나는 그들을 사람에게서 찾을 수 없다. – Pepijn

+0

어? 내 xargs 매뉴얼 페이지에 나열되어 있습니다. 페이지는 2004 년 8 월 2 일을 날짜로 표시하므로 이전 버전에서는 다르게 보일 수 없습니다. –

0

read 같은 것을 시도;

OLDIFS="$IFS" 
IFS=$'\n' 
while read filename ; do 
    echo "*** $filename:" 
    cat -n "$filename" 
done 
IFS="$OLDIFS" 
+0

읽기 -r 파일 이름 – ghostdog74

관련 문제