Сценарий оболочки для распаковки файлов в папки назначения с тем же именем, но без .zip, а также перемещение всех не zip-архивов в одно и то же место

Как прокомментировал @Jesse _b, .bash_historyсодержит историю всех ваших предыдущих сеансов оболочки, кроме текущего, который можно просмотреть с помощью команды history. Так что вам придется сначала сбросить текущую историю через

history -a

, а затем вы можете скопировать его в другой файл:

cp ~/.bash_history $path/filename.txt   

Чтобы перед каждой записью в истории стояла метка времени, установите переменную $HISTTIMEFORMAT, например.

HISTTIMEFORMAT="%F %T: "
1
08.10.2019, 18:29
1 ответ

Вы можете использовать forс подстановкой напрямую, удалить расширение .zipс помощью конструкций оболочки и извлечь архив непосредственно в место назначения:

#!/bin/bash

cd "/path/to/source/location"
for file in *.zip; do
  unzip "${file}" -d "/destination/for/unzip/${file%%.zip}" && rm "${file}"
done
mv LOCK* /destination/for/flat/files

Это также гарантирует, что архивы удаляются только в том случае, если они были успешно извлечены.

4
27.01.2020, 23:22

Теги

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