web-dev-qa-db-ja.com

viを使用してテキストファイルの各行の最初の5文字を​​削除するにはどうすればよいですか?

テキストファイルの各行の最初の5文字を​​削除するにはどうすればよいですか?
次のようなファイルがあります。

   4 Alabama
   4 Alaska
   4 Arizona
   4 Arkansas
   4 California
  54 Can
   8 Carolina
   4 Colorado
   4 Connecticut
   8 Dakota
   4 Delaware
  97 Do
   4 Florida
   4 Hampshire
  47 Have
   4 Hawaii

Txtファイルの各行の先頭にある数字とスペースを削除したいと思います。

31
Emmy

:%s/^.\{0,5\}//トリックを行う必要があります。また、5文字未満の場合も処理します。

74
lared

正規表現^.....を使用して、各行の最初の5文字に一致させます。グローバル置換で使用します:

:%s/^.....//
12
Barmar

すべての行が並んでいるので、この問題を解決するために置換を必要としません。カーソルを左上の位置(gg)に移動してから、CTRL + vGwlx

4
Mark

テキストは列データのように見えるため、通常はawkが役立ちます。 Vを使用して行を選択し、:!およびawkを使用します。

:'<,'>! awk '{ print $2 }'

データの2列目を印刷します。スペースを数えることからあなたを救います。

3
easoncxz

試して

:s/^.....//

「^」(行の先頭)はおそらく必要ありません。5文字のショートカットがありますが、シンプルなのは良いことです:)

2
racraman

:%s/^.\{0,5\}//gすべての行の各行の最初の5列を削除するため、グローバルの場合。

0
user3242313