양식 입력을 허용하는 명령을 사용하고 있습니다.
command [-a input_files]*
그래서 나는 command -a foo
또는 에 전화할 수 있습니다 command -a foo -a bar -a baz
.
이제 워크플로를 자동화하고 디렉터리의 모든 파일을 명령에 전달하려고 합니다. 이를 위해 와일드카드를 얻을 수 있는 방법이 있습니까? 알아요. 하지만 필수 접두어를 *
삽입하는 것은 허용되지 않습니다 . will just do it .-a
command *
command foo bar baz
이러한 작업은 bash 자체에서 가능합니까, 아니면 sed 등을 사용해야 합니까?
답변1
아마도 가장 짧은 방법은 printf를 사용하는 것입니다.
lcov $(printf -- ' -a %s' *)
그러나 일부 프로그램은 여전히 실패할 수 있으므로 테스트하고 보고하십시오.
답변2
각 ( ) 파일 앞에 배열을 만든 다음 args
전체 목록을 사용하여 실행합니다.-a
*
command
for f in *
do
args+=(-a "$f")
done
command "${args[@]}"