Используйте фигурные скобки для него:
ls /opt/somedir/{aa,bb,cc}
Для получения дополнительной информации читайте о расширении фигурной скобки.
Можно использовать fuser
, или lsof
.
fuser foo.zip
Вывод похож так:
$ fuser archlinux-2013.02.01-dual.iso
/home/chris/archlinux-2013.02.01-dual.iso: 22506
$ awk -F'\0' '{ print $1 }' /proc/22506/cmdline
wget
Измените свой сценарий загрузки, чтобы загрузить файлы на временное имя или каталог, затем переместить результат, когда загрузка будет закончена. Это более устойчиво, чем попытка обнаружить, что wget все еще работает; в частности, если wget будет прерван (например, перезагрузкой), то Вы не рискнете принимать частичный файл за полную загрузку. Кроме того, убедиться протестировать статус возврата wget. Возможности состоят в том, что Ваши поврежденные файлы являются на самом деле усеченными файлами, следующими из прерванной загрузки.
cd incoming &&
wget http://example.com/foo.zip &&
mv foo.zip ..
Можно использовать lsof, чтобы проверить, открыт ли файл некоторой программой.
for FILE in /path/to/files/*.zip
do
if [ -z "$(lsof $FILE)" ]
then
unzip $FILE
fi
done
или что-то подобное