Необходимо смотреть в ~/.local/share/applications/defaults.list
под [Default Applications]
. Там необходимо установить text/plain
указать на .desktop
запись для vim
, который обычно располагается в /usr/share/applications/
. Например:
text/plain=gvim.desktop
Это - классик tr
вариант использования, таким образом, самый простой путь:
tr -cs '[:digit:].' '[\n*]' < input > output
[:digit:].
аргумент указывает символы для соответствия (цифры и точка). [\n*]
указывает символы для замены (замените все новой строкой). -c
опция инвертирует первый аргумент, так как мы хотим все кроме цифр и точки. -s
сжимает последовательные новые строки от второй строки в одну.
Вот один путь с GNU sed
:
sed ':a;{N;s/[^\.0-9]\+/\n/g};ba' file
Вот то, как это работает:
Используя ответвление избегает побочных новых строк.
Можно использовать sed
заменять любой нежелательный символ к новой строке, и затем grep
избавиться от пустых строк:
sed 's/[^0-9.]/\n/g' | grep .
Обратите внимание, что результат отличается от того, который Вы отправили: 32 5.500.5.5
разделяется к двум строкам, а также последней строке.
Решение для Perl: это разделяет каждую строку на нежелательных символах и держит для непустых строк.
perl -ne 'print "$_\n" for grep /./, split /[^0-9.]+/'
\n
выше в sed
пример команды не является стандартным. Стандартный синтаксис для определения символа новой строки в RHS a s
команда с обратной косой чертой, сопровождаемой символом новой строки.
– Stéphane Chazelas
15.11.2012, 21:39
на RHEL7:
заменить любую строку, начинающуюся с VALUETOEDIT
sed -i -e 's/^VALUETOEDIT.*/NEWVALUE/g' somefile