同じコマンドで異なる値を持つフラグの再利用

同じコマンドで異なる値を持つフラグの再利用

私はそれを簡単に維持しようとします。コマンドを使用した編集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

それでは、1行に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

関連情報