1

数千行のテキスト ファイルがあります。すべての行は、8 つの 16 進数の文字列で始まります。すべての行でこの文字列を削除する必要があります。vimでこれを行うにはどうすればよいですか?

4

4 に答える 4

1

任意の行の最初の8つの16進文字(0〜9桁、af / AF文字)を空の文字列に置き換えます。

 :%s/^[0-9a-fA-F]\{8\}//gc
于 2013-01-21T05:03:47.673 に答える
1

^Vブロック選択に使用し、8つの列を強調表示して、通常どおり削除します。

または使用:s

:%s/\v^[a-fA-F0-9]{8}//
于 2013-01-21T05:04:07.460 に答える
1

行が

12345678 Something else

VIMでは、各行の先頭から合計9文字が削除されます。

:1,$s/^.........//

トリック(9ドット)を行う必要があります、

  • :コマンドを入力したいことをvimに伝える
  • 1,$コマンドが1行目から最後(またはgグローバル)まで影響することを意味します
  • s代用を意味します
  • ^行頭を意味します
  • .....5(任意の)文字を意味します
  • s/^.....//行頭の5文字を​​何も置き換えないことを意味します

質問の16進文字数に一致するように編集します。

于 2013-01-21T05:04:22.200 に答える