Как удалить первые 5 символов в каждой строке текстового файла с помощью vi?

Как удалить первые 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 файле.

Ответы

Ответ 1

:%s/^.\{0,5\}// должен сделать трюк. Он также обрабатывает случаи, когда их меньше 5 символов.

Ответ 2

Используйте регулярное выражение ^..... для соответствия первым 5 символам каждой строки. используйте его в глобальной подстановке:

:%s/^.....//

Ответ 3

Так как текст выглядит как столбчатые данные, awk обычно будет полезен. Я бы использовал V, чтобы выбрать строки, затем нажмите :! и используйте awk:

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

чтобы распечатать второй столбец данных. Экономит вас от подсчета пробелов.

Ответ 4

Поскольку все строки выстроены в линию, вам не нужна замена для решения этой проблемы. Просто верните курсор в верхнюю левую позицию (gg), затем: CTRL + vGwlx

Ответ 5

Попробуйте

:s/^.....//

Вероятно, вам не нужен "^" (начало строки), и будут короткие клавиши для 5 символов, но просто хорошо:)