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

Убедитесь, что вы используете правильную локаль

Scanner scanner = new Scanner(System.in).useLocale(Locale.US);

Возможно, вы используете локаль, где «,» - десятичный разделитель

29
задан Emmy 10 February 2015 в 00:07
поделиться

6 ответов

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

71
ответ дан lared 10 February 2015 в 00:07
поделиться

:%s/^.\{0,5\}//g для глобального, так как мы хотим удалить первые 5 столбцов каждой строки для каждой строки.

0
ответ дан Paul Roub 10 February 2015 в 00:07
поделиться

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

:%s/^.....//
12
ответ дан Barmar 10 February 2015 в 00:07
поделиться

Попробуйте

:s/^.....//

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

2
ответ дан racraman 10 February 2015 в 00:07
поделиться

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

4
ответ дан Mark 10 February 2015 в 00:07
поделиться

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

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

, чтобы распечатать второй столбец данных. Спасает вас от подсчета пробелов вообще.

3
ответ дан easoncxz 10 February 2015 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: