Как удалить столбцы в файле vi?
У меня есть файл vi, содержащий сотни строк в следующем формате
029.inp.log: SCF Done: E(RHF) = -844.790844670 A.U. after 26 cycles
Я хочу удалить все столбцы (разделенные пробелами / символами табуляции., Когда я вставил их сюда), кроме первого (029.inp.log:) и пятого (-844.790844670). Может кто-нибудь мне помочь?
2 ответа
Нажмите ctrl+v
для выбора блока. использование h, j, k, l
клавиши для навигации и нажмите клавишу d
удалить выбранный блок. Графический редактор вроде kate
также имеет возможность выбора блока.
Если вы не ограничены vi, команда оболочки - хороший выбор для этой задачи.
cat your_filename | cut -f 1,5 > result_filename
Что касается выделения прямоугольника в vim, вы должны гарантировать, что поля во всех строках имеют одинаковую ширину.
Возможно команда vim :%!cut -f1,5
тоже нормально, но я не могу сейчас попробовать.