Если блок текста для удаления охватывает несколько строк, и если каждый отдельный файл подходит удобно к RAM, самый легкий подход должен загрузить каждый файл полностью в RAM и выполнить глобальную строковую замену. Perl делает это легким, с -i -p
для изменения файлов на месте записывают записью и -0777
не установить любой разделитель записей (разделитель записей по умолчанию является новой строкой).
perl -0777 -i -pe '
BEGIN {
open BLOCK, "<", "/home/user/myblock.txt";
$block = <BLOCK>;
die unless length($block);
close BLOCK;
}
s/\Q$block//g
' /home/user/rep/*
Существует несколько способов, которыми Вы могли достигнуть этого постоянно:
xset b off
к Вашим программам запуска (если Вы используете startx
или подобный, это будет ~/.xinitrc
, иначе для GNOME/KDE/etc, используйте свое "приложение" программ запуска),blacklist pcspkr
в названный файл /etc/modprobe.d/99-nobeep.conf
(или подобный, если Вашей системой не является Linux),Я не полагаю, что существует опция для этого в xorg.conf
.
Если Вы хотите выключить его постоянно, необходимо отключить соответствующие модули в /etc/modprobe.d/blacklist.conf
:
blacklist pcspkr
blacklist snd_pcsp
Это - значение по умолчанию во многих дистрибутивах.
Другое решение, скопированное с http://ubuntuforums.org/archive/index.php/t-126746.html.
Если Вы хотите, чтобы это не подало звуковой сигнал в консоли, не идя в экстремальное значение помещения в черный список модуля для динамика, добавляет это к /etc/rc.local
for i in 1 2 3 4 5 6
do
setterm -blength 0 > /dev/tty$i
done
Другое решение, которое я видел вокруг, состоит в том, чтобы добавить это к/etc/profile:
setterm -bfreq 0