grepの1行ずつ出力をスペースで区切られたインライン形式に変換する

grepの1行ずつ出力をスペースで区切られたインライン形式に変換する
  • grepからラインごとの出力を取得しています。次のようになります。
value1
value2
value3
  • Bashスクリプトの変数を埋めるには、('value1' 'value2' 'value3')次のようにそれをインライン形式に変換する必要があります。

実際には40以上の値があるので、手動で実行するのではなく、自動化されたワークフローを探しています。

私は何をすべきですか?

答え1

出力を次のようにパイプするだけです。

sed "s/$/\'/"  | sed "s/^/\'/" | tr  '\n' ' ' ;echo

答え2

  • Bashスクリプトの変数を埋めるには、( 'value1' 'value2' 'value3')などのインライン形式に変換する必要があります。

bashコマンドから出力された行でインデックス配列変数を入力するには、シェル組み込みコマンド(別名)をgrep使用できます。readarraymapfile

readarray -t arr < <(grep [OPTION...] PATTERNS [FILE...])

リテラル引用符を追加する必要はありません。

関連情報