テキストファイルの各行の先頭にスペースを5回追加します。

テキストファイルの各行の先頭にスペースを5回追加します。

ファイルの各行の先頭の前にスペース5を追加するコマンドラインまたはbashスクリプトを探しています。

たとえば、

abc

スペースを5回追加した後

      abc

答え1

GNU sedの使用:

sed -i -e 's/^/     /' <file>

各行の先頭を5つのスペースで置き換えます。実行するコードを入力して-iファイルを修正してください。置換を実行し、行の先頭を一致させるように指示します。その後、最後の2文字の間の部分は、先頭から一致する部分(この場合は行の先頭)を置き換えます。-esedssed^/

答え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
  1. %すべての行を選択

  2. s変える

  3. x保存して閉じる

関連情報