Ваш сценарий должен затронуть /var/lock/subsys/...
для указания это работает. Посмотрите на atd
или crond
сценарии init как пример, и /etc/rc
поскольку, как это на самом деле анализируется.
(Примечание: я смотрю на /etc/rc
для Fedora)
# First, run the KILL scripts.
for i in /etc/rc$runlevel.d/K* ; do
# Check if the subsystem is already up.
subsys=${i#/etc/rc$runlevel.d/K??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
|| continue
check_runlevel "$i" || continue
# Bring the subsystem down.
[ -n "$UPSTART" ] && initctl emit --quiet stopping JOB=$subsys
$i stop
[ -n "$UPSTART" ] && initctl emit --quiet stopped JOB=$subsys
done
Попробуйте:
rename -n 's/_album1-0*/-song-/' /A/B/C/D/E/F/filename_album1-003.mp3
(Удалить -N
-n Выключатель, если ваши тесты в порядке)
Есть другие инструменты с тем же именем, что может быть или не может быть или не может быть Способен это сделать, так будьте осторожны.
Если вы запускаете следующую команду ( GNU
)
$ file "$(readlink -f "$(type -p rename)")"
, и у вас есть результат, такой как
.../rename: Perl script, ASCII text executable
, а не содержащий:
ELF
, то это, кажется, является правильным инструментом =)
Если нет, сделать это по умолчанию (обычно уже в случае) на Debian
и производной, как Ubuntu
:
$ sudo update-alternatives --set rename /path/to/rename
(заменить / путь / к / переименовать
К пути вашего команда Perl Rename
.
Если у вас нет этой команды, ищите свой менеджер пакетов, чтобы установить его или сделать это вручную
, но не менее важно, это Инструмент изначально был написан Ларри Стеной, папой Perl.
Не понимаю, откуда у вас новое "имя песни", вы начинаете с filename_album1-003.mp3
и переключаетесь на filename_song-3.mp3
...
Если вы получаете имя песни из ID3-тега, то использовать программу, которая может переименовывать mp3-файлы из информации тега будет проще. Таких как easytag, mp3rename, lltag... есть несколько в репозитории Debian и другие
. Подстановка процесса является башизмом , но строка shebang имеет значение # !/bin/sh
. Если /bin/sh
не является Bash или какой-либо другой оболочкой, поддерживающей подстановку процесса, этот синтаксис действительно не поддерживается, как указано в @ MarkPlotnick .
Имеется каталог в /boot/grub
(кроме шрифтов и языковых стандартов ). Имя этого каталога соответствует используемой платформе.
Этот каталог содержит в основном файлы с расширением .mod
и несколько файлов с расширением .lst
.
Один и тот же каталог (содержимое может немного отличаться) существует в пути grub lib (в Debian это /usr/lib/grub
).
С помощью zsh
:
$ autoload zmv # best in ~/.zshrc
$ zmv -n '(**/)(*_)*-0#(<->.mp3)' '$1$2song-$3'
mv -- A/B/foo_bar-0002.mp3 A/B/foo_song-2.mp3
удалить -n
, если они удовлетворены.