동일한 명령에서 다른 값을 가진 플래그 재사용

동일한 명령에서 다른 값을 가진 플래그 재사용

나는 그것을 간단하게 유지하려고 노력할 것입니다. 명령을 사용한 편집 sed스트림의 결과는 다음과 같습니다.

filename_1  
filename_2  
.  
.  
filename_n  

이제 이전 결과의 파일 수를 바탕으로 아래와 같이 셸에서 명령을 실행하려고 합니다.

some_command --foo "filname_1" --foo "filename_2" --foo "filename_n" remaining_some_command

여기서 --foo는 명령 사이의 플래그이고 filename_1...filename_n은 에 따라 해당 값입니다 sed.

쉘에서는 가능해야 합니다. 하지만 어떻게?

답변1

그러면 한 줄에 하나씩 파일 이름 목록을 생성하는 명령이 있고 생성된 각 줄에 대한 명령줄 인수로 을 --foo생성 하고 싶습니까?filename

예를 들어, 일부 줄을 인쇄하고 매개변수를 가져오려면 printf및 를 사용하세요.echo

#!/bin/bash
args=()
while IFS= read -r filename; do
    args+=(--foo "$filename")
done < <(printf "test1\ntest2\n")
echo test command "${args[@]}"

printf합계를 인쇄 test1하고 다음 과 같이 test2실행합니다 .echoecho --foo test1 --foo test2

관련 정보