Любая идея, как я могу перемещать файлы, которые не используются каким-либо процессом, оставляя поддержку подстановочных знаков с использованием сценария bash?Переместить неиспользуемые файлы
Основная концепция:
for file in $1..$n-1
if ! fuser file
mv file $n
где $1..$n-1
являются исходными файлами/каталогами и $n
является целевым путем.
EDIT: Рабочий сценарий
#!/bin/bash
# Move files which are not open by any process
dest=${@:$#} # get last arg
for file in "${@:1:$#-1}"; do # get all but last args
fuser "$file" >/dev/null 2>&1 && continue
mv "$file" "$dest"
done
Спасибо за помощь, ребята!
EDIT2 В этом скрипте есть ошибка, используемые файлы в некоторых каталогах не проверяются фьюзером. Позаботьтесь об этом позже.
Что конкретно рассмотрены критерии для "неиспользуемых" файлов? –
Не открываются никаким другим процессом, его можно проверить, используя команду 'fuser'. – null