Как разделить имена генов, соединенные знаком подчеркивания?

Здесь, на Raspberry Pi, также работающем с Raspbian Jessie, DHCP-клиентом является / sbin / dhcpcd . К сожалению, здесь используется другой файл конфигурации, который не позволяет указывать суффикс DNS.

ps -ef | grep -i [d]hcp
root       720     1  0 10:16 ?        00:00:00 /sbin/dhcpcd -q -w

К счастью, эта система была установлена ​​с resolvconf , в котором есть файл конфигурации /etc/resolvconf.conf , который позволяет указывать суффикс DNS:

search_domains_append=ns.exampledomain.com

Я не совсем уверен, почему у двух Jessie Pis должны быть разные конфигурации установки, но, возможно, это вопрос другого дня. Для сравнения, вот другой пример процесса DHCP-клиента, который можно увидеть в некоторых из моих систем Debian Wheezy:

# This uses /etc/dhcp/dhclient.conf and is not what I have on my Pi
ps -ef | grep -i [d]hcp
root      1683     1  0 09:58 ?        00:00:00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
1
16.02.2017, 02:14
2 ответа
sed 's/\(\.[0-9]\)\(_\)/\1 /' inputfile | column -t

Регулярное выражение /\.[0-9]_/, похоже, соответствует вашему случаю, поэтому я разделил его на две группы обратных ссылок с помощью паренсов и вывел первую группу и некоторые пробельные символы, тем самым разделив ваши колонки, которые затем можно вывести в таблицу с помощью column -t.

3
27.01.2020, 23:16

Оказывается, подчеркивание, которое вы хотите заменить, ВСЕГДА стоит после точки . , за которой следует одна цифра [0-9].

sed 's|\.\([0-9]\)_|.\1\t|'

Здесь будет искаться буквальная точка \. за которой следует одна цифра, которую мы сохраним в группе \([0-9]\) за которой следует знак подчеркивания _. Замените это точкой, первой группой, которую мы сохранили \1 и табуляцией \t.

2
27.01.2020, 23:16

Теги

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