ファイルの各行の先頭の前にスペース5を追加するコマンドラインまたはbashスクリプトを探しています。
たとえば、
abc
スペースを5回追加した後
abc
答え1
GNU sedの使用:
sed -i -e 's/^/ /' <file>
各行の先頭を5つのスペースで置き換えます。実行するコードを入力して-i
ファイルを修正してください。置換を実行し、行の先頭を一致させるように指示します。その後、最後の2文字の間の部分は、先頭から一致する部分(この場合は行の先頭)を置き換えます。-e
sed
s
sed
^
/
答え2
あなたはそれを使用することができますsed
sed 's_^_ _' tmpin > tmpout
またはawk
awk '{print " " $0}' tmpin > tmpout
または貼り付け(ありがとうクエンラム)
:| paste -d' ' - - - - - file
注意深い。これらは中毒性があるかもしれません。多くの簡単な問題を解決できますが、完全なスクリプト言語にアップグレードする必要がある時が来るでしょう。
編集する:Eric Renoufの回答に基づいて、Sedスクリプトが簡素化されました。
答え3
次のように使用できる標準ツールがたくさんありますpaste
。
:| paste -d' ' - - - - - file
またはより短いawk
:
awk '{$1=" "$1}1' file
または、より携帯性に優れていますperl
。
perl -pe '$_=" "x5 .$_' file
答え4
ExモードでVimを使用できます。
ex -sc '%s/^/ /|x' file
%
すべての行を選択s
変えるx
保存して閉じる