Может быть, вы можете замедлить чтение файла, заставив тем самым более быстрого потребителя ждать?
while read LINE; do
echo "$LINE" | tee /dev/stderr | ./consumer1.py ; ) 2>&1 | ./consumer2.py
sleep 0.01
done < "file.txt"
Однако в некоторых системах режим сна менее 1 секунды не подходит.
Использование утилитыperl
rename
(, а не команды rename
из util-linux
, которая имеет совершенно другие и несовместимые параметры строки команды -):
rename -n -v 's/\$+//g' *.mp3*
Это приведет к удалению всех$
символов из в любом месте в именах файлов.
Если вы хотите удалить $
символы, только если они находятся в конце имен файлов:
rename -n -v 's/\$+$//' *.mp3*
Кстати, приведенные выше команды используют параметр rename
для -n
в качестве пробного прогона, чтобы показать вам, что будет делать rename
без фактического переименования чего-либо. Когда вы уверены, что он делает именно то, что вы хотите, без каких-либо непредвиденных последствий, удалите -n
из командной строки. При желании также удалите параметр-v
(verbose ).
Утилита переименования perl
находится в пакете rename
в Debian и производных дистрибутивах. Этот пакет содержит модуль File ::Rename CPAN и утилиту rename
.
Ранние версии пакета perl
в Debian включали старую версию rename
с некоторыми заметными ошибками. Если у вас установлена эта версия, вам следует как можно скорее установить пакет rename
.
Этот perl -на основе rename
также иногда устанавливается как file-rename
или prename
. prename
обычно является более старой версией с ошибками.