Вам действительно следует использовать либо gpg-agent, либо аналогичную программу, предоставляемую Gnome. Таким образом, ваша система будет запрашивать кодовую фразу только один раз при загрузке.
Команда
sed "/^#[0-9]*\.[0-9]*\.[0-9]*\.[0-9]\{3\}/s/#//g" filename
выход
sed "/^#[0-9]*\.[0-9]*\.[0-9]*\.[0-9]\{3\}/s/#//g" filename
192.168.54.144 name1
192.168.54.144 name2
192.168.54.143 name3
Пробовал использовать Python, все работает нормально
#!/usr/bin/python
import re
g=re.compile(r'[0-9]*\.[0-9]*\.[0-9]*')
m=open('u.txt','r')
for i in m:
if re.search(g,i):
print i.strip().replace("#","")
вывод 1
92.168.54.144 name1
192.168.54.144 name2
192.168.54.143 name3
Использование GNUsed
:
Соответствие только реальному IP-адресу(через):
sed -E 's/^#(((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5]))/\1/' file
или простое сопоставление, которое проверяет цифру после#
:
sed 's/^#\([[:digit:]]\)/\1/' file
Это просто распечатает результат, добавьте -i
для редактирования файла на месте.
Вы также можете использовать perl
с lookehead, чтобы не нуждаться в обратной ссылке:
perl -pe 's/^\#(?=[[:digit:]])//' file