SED - 他の行の一部のコンテンツを使用して行を作成する

SED - 他の行の一部のコンテンツを使用して行を作成する

私のフォルダにいくつかのファイルがあります。

各ファイルの構造は次のとおりです。

...
product: Nike New Awesome Shoe
price: 123
color: black
...

次のシナリオを完了する必要があります。シングルSEDコマンドの使用, *.txt を使用するすべてのファイルで

デフォルトでは、パターンで始まる行からパターンの後の最初の単語を取得し、新しい行で「brand:」に関連付ける必要があります。

(product:)で始まる行を選択してください。 (product:)の後の最初の単語を取得します。 Brand:他の行の最初の単語に関連付ける新しい行を作成します。

PS:行番号によってファイルが変更される可能性があるため、行番号はありません。

...
product: Nike New Awesome Shoe
brand: Nike
price: 123
color: black
...

ベストアンサー1

を使用すると、一致をsedコピーして必要な文字列を保持できます。

$ sed '/^product/{p;s/[^ ]* \([^ ]*\).*/brand: \1/;}' input_file
...
product: Nike New Awesome Shoe
brand: Nike
price: 123
color: black
...

おすすめ記事