私は| sed
特定のコマンドの結果をインデントするために使用します(簡単な例を挙げます$ echo something
)。結果の前にスペース10個を追加したいと思います。以下はうまくいきます。
$ echo something | sed 's/^/ /'
something
| sed
しかし、式に数量子を使用する方法はありますか?
私は例えば試しました。
$ echo something | sed 's/^/ {10}/'
{10}something
しかし、明らかにこれはうまくいきません。{10}
数量子として解釈されません。
バックスラッシュで中括弧を保護することも機能しません。
$ echo something | sed 's/^/ \{10\}/'
{10}something
代替式に数量子を使用する方法はありますか?
ベストアンサー1
置換の置換がsed
正規表現ではないので、これは可能ではないと思います。
別の方法は、次のように変数を生成して代替変数として使用することです。
# use printf to set as many spaces as you want
$ i=$(printf "%10s")
# use the created variable as replacement of the substitution
$ echo something | sed "s/^/$i/"
something