a )Установите setroubleshoot.x86_64
для графического интерфейса пользователя; это может быть проще, чем использование tail
.
# yum install setroubleshoot.x86_64 setroubleshoot-plugins.noarch
Добавление политик SE Linux дляmongodb
(и возможных других )может снизить нагрузку.
Обратите внимание, что предложения, которые он делает, иногда могут быть бесполезными или вводящими в заблуждение.
b )Возможна переустановка setroubleshootd
:
yum reinstall setroubleshoot-server
for file in *; do
ext=.${file##*.} #Gets file extension
[ "$ext" = ".$file" ] && ext="" #If file had no extension, set it to empty string
nostr=${file%%-*} #Remove everything after -
mv "$file" "$nostr$ext"
done
Вы можете использовать подстановку параметров bash следующим образом:
for i in *; do
# ${i%%-*} get everything before the first '-' (use ${i%-*} for the last '-')
# ${i/.*} remove everything after the '.'
# ${i##${i%.*}} remove everything except everything after the last '.'
mv "${i}" "${i%%-*}${i##${i%.*}}"
done
Использование цикла вbash
:
for name in *.mp4 *.srt; do
mv -i -- "$name" "${name/-*./.}"
done
Это переименовывает каждый файл .mp4
и файл .srt
путем замены части имени между первым дефисом и последней точкой на точку посредством подстановки переменных.
Я специально выбрал файлы .mp4
и .srt
, поскольку именно их вы указали в вопросе.
Использование переносной петли sh
:
for name in *.mp4 *.srt; do
mv -i -- "$name" "${name%%-*}.${name##*.}"
done
Здесь ${name%%-*}
будет исходным именем, в котором все после первого дефиса будет обрезано, а ${name##*.}
будет суффиксом имени файла после последней точки в имени файла.
Использование утилиты Perl rename
:
$ tree
.
|-- 01. file one-sdvanv-12lknl.mp4
|-- 01. file one-sdvanv-12lknl.srt
|-- 02. file two-afdsmakl-asdfafdaf.mp4
|-- 02. file two-afdsmakl-asdfafdaf.srt
|-- 03. file three-adfadaasd-asdfadfafad-adad1d1das.mp4
`-- 03. file three-adfadaasd-asdfadfafad-adad1d1das.srt
0 directory, 6 files
$ rename 's/-.*\././' -- *.mp4 *.srt
$ tree
.
|-- 01. file one.mp4
|-- 01. file one.srt
|-- 02. file two.mp4
|-- 02. file two.srt
|-- 03. file three.mp4
`-- 03. file three.srt
0 directory, 6 files
Perl-выражение s/-.*\././
представляет собой замену, которая будет применяться к каждому заданному имени файла, переименовывая файл.
Эта замена заменяет часть имени файла от первого дефиса до последней точки на точку.
Вы можете добавить -n
к вызову утилиты rename
, чтобы сначала увидеть, что произойдет.
См. также: