次のデータを含むテキストファイル、ABC.txtがあります。
n
テキストファイルの前半の1行あたりのスペース数を計算したいと思います。
A Apple a day keeps a doctor away
B I like to play with Ball
C I have cat at my home
D My Dog name is bob
I want to display output on my screen with 10 spaces in a frontend and then my file data
予想出力:
A Apple a day keeps a doctor away
B I like to play with Ball
C I have cat at my home
D My Dog name is bob
試してみましたが動作しません
注文する:
prefix=' '
sed "s/^/$prefix/" ABC.txt
スペースを追加する必要がある場合は、プレフィックスを変更する必要がないように汎用コードが必要です。
20個の空白を望むように - >入力として20を渡し、テキストはテキストファイルの各行の前に20個の空白にフォーマットされます。
ベストアンサー1
そしてperl
:
n=12
perl -spe '$_ = " " x $n . $_' -- -n="$n" < your-file
そしてawk
:
n=12
awk -v n="$n" '
BEGIN{indent = sprintf("%*s", n, "")}
{print indent $0}' < your-file
そして:zsh
sed
n=12
sed "s/^/${(l[$n])}/" < your-file
左パディングのパラメータ拡張フラグはどこにありますかl[n]
?ここでは、パラメータはまったく適用されません。
bash、zsh、またはksh93を使用して次のこともできます。
n=12
printf -v indent "%${n}s"
sed "s/^/$indent/" < your-file
POSIXシェルの使用:
n=12
indent=$(printf "%${n}s")
sed "s/^/$indent/" < your-file