ファイルの各行をコマンドにオプションとして渡すにはどうすればよいですか?

ファイルの各行をコマンドにオプションとして渡すにはどうすればよいですか?

ファイルを読み取り、各行を次のコマンドにオプション(または「オプション引数」)として渡すスクリプトを作成したいと思います。

command -o "1st line" -o "2nd line" ... -o "last line" args

これを行う最も簡単な方法は何ですか?

ベストアンサー1

# step 1, read the lines of the file into a shell array
mapfile -t lines < filename

# build up the command
cmd_ary=( command_name )
for elem in "${lines[@]}"; do
    cmd_ary+=( -o "$elem" )
done
cmd_ary+=( other args here )

# invoke the command
"${cmd_ary[@]}"

おすすめ記事