次のテキストがあります。
it's like a foo.
it's like a bar.
it's like a bar.
it's like a foo.
最初の行のインデントやスペースを削除し、次の行でも同じ量のインデントやスペースを削除したいと思います。
後続の行のスペースまたはインデントが最初の行より少ない場合は、すべての先行スペースまたはインデントが削除されます。
出力は次のとおりです
it's like a foo.
it's like a bar.
it's like a bar.
it's like a foo.
ベストアンサー1
使用expand
(TAB を SPC に拡張し、タブが 8 列ごとに停止すると仮定し、他の空白文字は考慮されません) および次を使用しawk
ます。
<your-file expand | awk -F '[^ ]' '
NR == 1 {n = length($1)}
{sub("^ {1,"n"}", ""); print}'