У меня есть текстовый файл.
number 1_1 \t number1_2 \t etc
number 2_1 \t number2_2 \t etc
Я хочу удалить первый столбец этого файла (соответствующий number1_1, number2_1 и т.д., т.е. числа перед первой вкладкой для каждой строки). Я читал это сообщение, которое предлагает решение удалить первый столбец (см. ответ Peter). Однако это не работает на меня, поскольку числа имеют различные размеры, и я не могу повторить операцию для удаления первого столбца. Как я могу сделать затем?
Это должно удалить все символы прежде и включая 1-ю вкладку на любой строке:
:%s/^[^\t]*\t//
Командная строка cut
:
cut -f 2- {filename.txt} > {filenamenew.txt}
значения по умолчанию сокращения к вкладкам; если Вы хотите что-то еще как пространство, добавляют -d " "
. -f
поля для копирования. 2-средств все от (и включая) столбец 2.
До awk
,
awk -F"\t" '{print FS,$2}' file > newfile
Это сокращает первый столбец и печатает только остающуюся вкладку и второй столбец.
До sed
,
sed -r 's/^([^\t]*)\t(.*)$/\t\2/g' file > newfile
В Вай, чтобы удалить первую колонку (отделенный пространством), Вы можете сделать:
:%norm dW
для колонки, отделенной Счетом , это:
:%norm df
Ctrl+V счет
, Таким образом, команда, которая удалила бы первую колонку из (оперативного) файла, может быть:
ex +"%norm df$(echo -e '\t')" -scwq file
<глоток>, Чтобы проверить продукцию прежде, чем спасти (пробный прогон), замените -scwq
-sc'%p|q!'
. глоток>
Или на основе предложение Криса, как:
ex -c':exe ":%norm df\<Tab>"' -sc'%p|q!' <(echo -e "a a\tb b\tc c")
<час> , Кроме того, делают это в визуальном способе (начинаясь с верхнего левого):
На каждой строке (%
), замените (s/ORIGINAL/REPLACEMENT/
) первое вхождение “non-символов-табуляции ([^\t]
в любом номере (*
)) сопровождаемый вкладкой \t
” ничем. Можно ввести Вкладку вместо \t
.
, Кроме того, можно соответствовать самой короткой последовательности символов (.\{-}
) окончание на вкладке. .*\t
соответствовал бы самому долгому соответствию для .*
, таким образом, оно будет соответствовать всем кроме последнего столбца; .\{-}
соответствия самое короткое соответствие, которое является первым столбцом.
:%s/.\{-}\t//
Для удаления остающегося пространства перед вторым столбцом, я предлагаю:
:%norm df
Ctrl+V вкладка x