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