Если у вас есть другие веб-страницы или приложения, работающие на одном сервере, следующая информация может быть полезна для разделения Nagios как собственного виртуального хоста Apache на нестандартном порту (например, здесь 43326).
Удалить стандартную конфигурацию и создать виртуальный хост Apache;
sudo cp /etc/apache2/conf.d/nagios.conf /etc/apache2/sites-available/nagios3
sudo rm /etc/apache2/conf.d/nagios.conf
sudo vi /etc/apache2/sites-available/nagios3
В начало добавления файла;
Listen 43326
<VirtualHost *:43326>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/nagios3
В конец файла add;
[ f3]Включить новый сайт;
sudo a2ensite nagios3
Если вы запустили брандмауэр (UFW), откройте порт;
sudo ufw allow 43326
Перезапустите Apache
[ f6]Я бы использовал команду rename на основе Perl - например, чтобы удалить кратчайшую последовательность слов-символов, начиная с - перед суффиксом .mp3, вы можете попробовать
rename -nv -- 's/-\w+?[.]mp3$/.mp3/' *.mp3
Параметр n запускает команду в режиме «сухого хода» - если совпадения выглядят корректно, удалите опцию n и запустите ее снова.
Часть, которую вы не хотите, это идентификатор видео. Вы можете использовать выходные шаблоны youtube-dl:
--output "%(title)s"
это будет использовать только заголовок и опустить идентификатор. Запустите youtube-dl без параметров, чтобы увидеть другие параметры.
Вы можете исправить свои существующие загрузки:
for i in *; do mv "$i" `basename "$i" .mp3 | cut -f -2 -d "-"`.mp3; done
(Это эквивалентно ответу Якке).
Вы можете проверить это с помощью этой команды:
for i in *.mp3; do echo "$(echo $i|cut -d- -f1,2).mp3"; done
Обратите внимание, что у вас есть имена файлов без двух тире, поэтому он не будет работать для всего.
Если вы на самом деле хотите изменить имена,
for i in *.mp3
do
newname="$(echo $i|cut -d- -f1,2).mp3";
mv $i $newname
done
Решение, использующее только оболочку:
filename=foo-bar-baz
while read -rd-; do
newname="${newname:+$newname-}$REPLY"
done <<< "$filename"
mv "$filename" "$newname"
Это работает, потому что имя файла не заканчивается тире, поэтому последний токен игнорируется.