Только что наткнулся на другое применение: любил стирать жесткий диск с шаблоном, отличным от нуля (например: dd if = / dev / zero of = / dev / sdd bs = 1M
) и использовал для него « да »:
да UUUUUUUUUUUUU> / dev / sdd
С
cp /tmp/exclude_list /tmp/exclude_list.tmp
grep -Fx -v -e "$host" /tmp/exclude_list.tmp >/tmp/exclude_list
rm /tmp/exclude_list.tmp
вы должны удалить каждую строку, точно совпадающую со строкой в $host
. Измените -Fx
на просто -F
, чтобы удалить любую строку, которая содержит строку. Не используйте -F
, если вы хотите использовать $host
как регулярное выражение.
Или с Perl:
perl -i -sn -e 'print unless /$host/' -- -host="$host" /tmp/exclude_list
Параметры, используемые с perl
здесь: -i
для редактирования места -, -s
для разрешения Perl инстанцировать $host
переменную Perl из командной строки и -n
для вывода только явным образом. изнутри неявного цикла, который Perl обеспечивает вокруг кода. -e
принимает фактический код в качестве аргумента.
Код Perl удалит все строки, не соответствующие регулярному выражению $host
.
Для использования $host
в качестве строки :
perl -i -sn -e 'print unless index($_, $host) >= 0' -- -host="$host" /tmp/exclude_list