У меня есть этот текст в файле:удалить столбцы либо с помощью командной строки или Vim
test1.out:www.xyx.com
test2.out:www.cnn.com
, как я мог бы удалить первый столбец перед тем «:» и только остались:
www.xyx.com
www.cnn.com
У меня есть этот текст в файле:удалить столбцы либо с помощью командной строки или Vim
test1.out:www.xyx.com
test2.out:www.cnn.com
, как я мог бы удалить первый столбец перед тем «:» и только остались:
www.xyx.com
www.cnn.com
Вы можете достичь это в vim с помощью команды :g
(см. :h :g
).
Команда, которую вы должны использовать это:
:g/.*/norm! df:
Как говорит FDinoff в комментариях, это упрощает для
:%norm! df:
Это запускает norm! df:
на вводе команды в каждой строке в файле. norm! df:
удалит все с начала строки до :
.
с AWK
awk -F: '{print $2}' filename
с разрезом
cut -d: -f2 filename
с СЭД
sed 's/.*://' filename
Довольно легко, подставляя все перед :
ни с чем. От Vim:
:%s/^.*://
Будьте осторожны с жадностью '. *'. Он будет соответствовать последнему ':' на линии. Возможно, это не то, что вы хотите. Вы можете завершить это с помощью::% s/[^:] *:/'или':% s /. \ {-}: // '. –
Каждый способный текстовый редактор может использовать регулярное выражение для глобального поиска и замены. Если вам это нужно на регулярной основе, вы можете использовать 'grep',' sed' или 'awk' в сочетании с регулярными выражениями. Взгляните на их «человеческие» страницы. – arkascha