タブ/スペースにインデントするには、grepの出力が必要です。
インデントされていない単純なバージョンは次のとおりです。 MyCmd | grep "id:"
私は成功せずにこれを試しました。MyCmd | grep "id:" | echo " "
答え1
awk
grep
許可されている場合は、次のことができます。
MyCmd | awk '/id:/ {print " " $0}'
あるいは、grepが必要な場合は、sed
次のことが役立ちます。
MyCmd | grep "id:" | sed -e 's/^/ /'
このawk
バージョンは、「id:」を含む行で独自のパターンマッチングを実行し、その行の前のスペースを印刷します。このsed
バージョンはgrep
すでに行ったのと同じことを行いますが、各行の先頭を空白に置き換えます(正規表現は行^
の先頭と一致します)。
答え2
代わりに、以下を使用してくださいsed
。
MyCmd | sed 's/^.*id:/\t&/'
id:
一致する行の先頭にタブ文字を一致させて紹介します。
例:
% sed 's/^foo/\t&/' <<<'foobar'
foobar