export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"
Это (и другие команды из http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee) также кажется очень, hackish'' и смущает большинство людей, которые уставились на терминал в данный момент ;)
grep -Fxf list -v /etc/remotedomains > remotedomains.new
mv remotedomains.new /etc/remotedomains
-v
говорит grep только производить строки, которые не соответствуют шаблону.
-f list
говорит grep читать шаблоны из файла list
.
-F
говорит grep интерпретировать шаблоны, поскольку плоскость представляет в виде строки, не регулярные выражения (таким образом, Вы не столкнетесь с проблемой с regex метасимволами).
-x
говорит grep соответствовать целой строке, например, если существует шаблон foo
это должно только удалить строку foo
, не строка foobar
или barfoo
.
sed -r -i -e '/^(domain1|domain2|domain3|...|domainN)$/d' domainlist.txt
Если Ваш список доменов для удаления находится в файле затем:
sed -r -i -e '/^'"$(xargs <removelist.txt|sed -e 's/ /|/g)"')$/d' domainlist.txt
Примечания:
-i.bak использования, чтобы иметь sed делают резервное копирование domainlist.txt
Если removelist.txt имеет много тысяч записей, это могло бы переполнить максимальной длины командной строки. Это не вероятный сценарий, но что-то, о чем необходимо знать.
На дальнейшем отражении тот риск может быть устранен с:
for RE in $(xargs <removelist.txt|sed -e 's/ /|/g') ; \
do sed -r -i -e '/^('"$RE"')$/d' domainlist.txt ; \
done
Используйте связь!
comm -23 /etc/remotedomains remove
На странице руководства:
Сравните отсортированные файлы FILE1 и FILE2 построчно.
Без опций создать вывод в три столбца. Первый столбец содержит строки, уникальные для FILE1, второй столбец содержит строки, уникальные для FILE2, а третий столбец содержит строки, общие для обоих файлов.
Опции -1, -2 и -3 отключают соответствующие столбцы.
Однако требуется, чтобы файлы были отсортированы.
zsh
не должен быть в/usr/bin/
если это - это, был установлен неправильно. все оболочки должны быть в/bin
---------121 примечание--------47093----: всегда не забывайте копировать/etc/localdomains
и/etc/remotedomains
прежде, чем сделать материал как это. – xenoterracide 24.10.2010, 07:03-F
для фиксированного сопоставления строк (“точные совпадения”), но оно не вынуждает шаблон соответствовать целой строке. POSIX указывает-x
отметьте для ограничения соответствий экземплярами, где шаблон соответствует целой строке. – Chris Johnsen 06.11.2010, 05:14