grepの出力をインデントする方法は? [コピー]

grepの出力をインデントする方法は? [コピー]

タブ/スペースにインデントするには、grepの出力が必要です。

インデントされていない単純なバージョンは次のとおりです。 MyCmd | grep "id:"

私は成功せずにこれを試しました。MyCmd | grep "id:" | echo " "

ベストアンサー1

awkgrep許可されている場合は、次のことができます。

MyCmd | awk '/id:/ {print "   " $0}'

あるいは、grepが必要な場合は、sed次のことが役立ちます。

MyCmd | grep "id:" | sed -e 's/^/   /'

このawkバージョンは、「id:」を含む行で独自のパターンマッチングを実行し、その行の前のスペースを印刷します。このsedバージョンはgrepすでに行ったのと同じことを行いますが、各行の先頭を空白に置き換えます(正規表現は行^の先頭と一致します)。

おすすめ記事