文字列に一致する行全体をコピーしてプレフィックスで貼り付ける方法は?

文字列に一致する行全体をコピーしてプレフィックスで貼り付ける方法は?

コマンドを使用してファイル内の特定の行を検索しようとしていますが、正常に実行していますgrep

今度は、行全体を元の行の後の新しい行にコピーしたいと思います。つまり、元の行の後には内容は同じですが、いくつかのプレフィックスが付いた新しい行が来なければなりません。

例: 生データ:

Apple 
Samsung
Nokia
HTC

新しいデータが次のように見えるようにしたいとします。

Apple
Samsung
prefix Samsung
Nokia
HTC

注:複数のモードがあり、Samsung同じことを行う必要があることがわかりました。

grep配管しようとしましたがsed失敗しました。誰でもこの問題を解決するのに役立ちますか?

ありがとう

ベストアンサー1

を使用してこれを行うことができますawk

ここであなたの例を使用することは一つのアプローチです。

awk '{print $0} /Samsung/ {print "prefix " $0}' filename

この文を分析すると、次のようになります。 {print $0}行全体を印刷します。

/Samsung/ {print "prefix " $0}行全体に続く「プレフィックス」印刷を表します。ただし、行にSamsungが含まれている場合にのみ適用されます。

おすすめ記事