Как я могу перейти за файлы в данном каталоге, и проверьте, существует ли файл?

Не забудьте закомментировать или удалить строку из / etc / fstab, которая относится к / home. Если вы оставите это, Linux запутается при выключении и перезапуске.

0
18.09.2018, 16:58
2 ответа
#!/bin/bash
for szFile in /var/tmp/*.zip;
do 
  unzip "$szFile";
  mv "$szFile" "Prefix_"$(basename -- "$szFile")
done

будет:

  • перебрать все zipфайлы в/var/tmp
  • извлечь их
  • добавить префикс
  • переместить их в текущий каталог.
1
28.01.2020, 02:42

Вот пример использования find.

find somedir/ -type f -name 'some.zip' -exec bash -c 'name=$1; echo unzip "$name" -d "${name%/*}"; echo  mv "$name" "${name%%/*}/cx_c_${name##*/}"' _ {} \;

Удалите echo, если вы удовлетворены результатом

Или создайте функцию с локальным аргументом и передайте имя файла в качестве аргумента функции следующим образом:

cfind() {
 local name=$1
 find somedir/ -type f -name "$name" -exec bash -c 'name=$1; echo unzip "$name" -d "${name%/*}"; echo  mv "$name" "${name%%/*}/cx_c_${name##*/}"' _ {} \;
    }

Назовите это так

cfind myfilename.zip
0
28.01.2020, 02:42

Теги

Похожие вопросы