나는 그것을 간단하게 유지하려고 노력할 것입니다. 명령을 사용한 편집 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
실행합니다 .echo
echo --foo test1 --foo test2