폴더의 각 파일 이름을 매개변수로 사용하여 명령을 실행합니다.

폴더의 각 파일 이름을 매개변수로 사용하여 명령을 실행합니다.

명령을 실행하고 싶습니다. 명령을 abc라고 부르고 현재 폴더의 각 파일 이름을 매개변수로 추가하겠습니다. C Shell(또는 다른 스크립팅 언어)에서 이 작업을 어떻게 수행할 수 있습니까?

답변1

csh또는 를 사용하면 tcsh현재 디렉터리의 모든 파일과 디렉터리를 반복합니다. $i일부 이름에 공백이 있는 경우를 대비하여 변수 대체 주위에 따옴표를 사용했습니다 .

foreach i (*)
   abc "$i"
end

디렉터리가 아닌 파일만 가져오려면 -f테스트를 사용하세요. 여기서는 C 쉘의 짧은 형식 명령문을 사용했습니다 if.

foreach i (*)
   if (-f "$i") abc "$i"
end

답변2

찾다xargs. 귀하의 쉘이 나와 유사한 것이라면 다음이 잘 작동할 것입니다:

find . -type f -maxdepth 1 | xargs abc

파일 이름의 공백이 걱정된다면 아래 Daniel Andersson의 설명을 참조하세요.

관련 정보