Регулярные выражения для очистки телефонных номеров

Вам нужно посмотреть на созданный вами файл, который содержит это:

[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
enabled=1
gpgcheck=1

Обратите внимание на $releasever и $basearch. Они должны быть заполнены соответствующей информацией, собранной с вашего сервера, чтобы соответствовать соответствующим ссылкам.

Если вы перейдете прямо к URL-адресу здесь: http://dl.atrpms.net/

Вы заметите всю версию версии Linux, для которого он нужу. Но сначала вам нужно сделать это в вашей системе:

rpm -qa 'release'

Там вы получаете правильную версию, которую вам нужно ввести в эту ссылку.

1
17.01.2017, 20:23
4 ответа
sed -n 's/.*\(301\).*\(209\).*\([0-9]\{4\}\)/\1\2\3/w foobar'

Удаляются все символы перед 301 (для учета (309) ), а также ноль или более пробелов и ) после 301 с четырьмя цифрами после 209 игнорирование любых нецифровых символов. Вывод записывается в foobar .

2
27.01.2020, 23:11

удалить все символы, которые не являются цифрой, затем удалить строки, которые начинаются не так, как нужно, наконец, удалить те, которые не состоят из 10 символов:

sed -e 's/[^0-9]//g' -e '/^301209/!d' -e '/^.\{10\}$/!d'
4
27.01.2020, 23:11

Я бы начал с удаления нежелательных символов с помощью tr, а затем отфильтровал с помощью grep:

tr -d '() -'|grep '301209[0-9][0-9][0-9][0-9]$'
3
27.01.2020, 23:11
sed -ne '/^ *\(+1\)\{0,1\} *(\{0,1\} *301 *)\{0,1\} *209 *-\{0,1\}\( *[0-9]\)\{4\} *$/s/[^0-9]*//gp'
2
27.01.2020, 23:11

Теги

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