Но за архивировать файлы массова и по отдельности. Данные файлы разбросаны по директориям. По этому я из положения вышла вот вот так.
*.nes <--- Это ром для денди игр у меня их очень много. По названию они лежат в папках по алфавиту. И по цифрам.
find ./ -name '*.nes' | xargs -n 1 -I % zip -m -9 '%.zip' '%'
Данная команда работает до пары до времени хорошо потом выдает ошибку
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
Почему так не знаю вроде все верно.
-----------
Коротко расскажу что он делает.
find ищет в директории где он находится файлы с расширением *.nes
потом он передает часть xargs,а вот он уже подставляет пути где лежит файл и куда его сохранять символом %
Ну как работает zip я думаю все знаю -m это удаление исходного файла после сжатия а -9 это уровень сжатия.
Таким образом он каждый файл пукнет отдельно.
Zelda II - The Adventure of Link (U) [T+Ita1.0_SadNES_City].nes.zip
Zelda II - The Adventure of Link (U) [T+Nor1.0_Just4fun].nes
Zelda II - The Adventure of Link (U) [T+Por1.0_BRGames].nes
Zelda II - The Adventure of Link (U) [T+Por1.1_Made in Brasil].nes
Zelda II - The Adventure of Link (U) [T+Por98%_Made in Brasil].nes
Zelda II - The Adventure of Link (U) [T+Por_Smartcelo3].nes
Zelda II - The Adventure of Link (U) [T+Spa1.1.4_Hyrule Knight].nes
Zelda II - The Adventure of Link (U) [T-Spa_Hyrule Knight].nes
Zelda II - The Adventure of Link (U) [T-Spa].nes
Zelda II - The Adventure of Link (U) [T+Swe1.01_MetalHead][b1].nes
Zelda II - The Adventure of Link (U) [T+Swe1.01_MetalHead].nes
Zelda II - The Adventure of Link (U) [T+Swe1.1_TheTranslator].nes.zip
Zelda II - The Adventure of Link (U) [T-Swe][a1].nes
Zelda II - The Adventure of Link (U) [T-Swe][b1].nes
Zelda II - The Adventure of Link (U) [T-Swe].nes
Zelda II - The Adventure of Link Y2K Edition (Hack).nes
Zelda I - The Adventure of Riff (Zelda 2 Hack).nes
Zelda no Densetsu 1 - The Hyrule Fantasy (J).nes.zip
Zelda no Densetsu - The Hyrule Fantasy - Title Screen Simulator by Chris Covell (PD).nes.zip
Zelda's Embrace - A New Legend V1.0c (Zelda Hack).nes
Zelda's Embrace - A New Legend Vx.xx (Zelda Hack).nes
Zelda Story, The (Zelda Hack) [a1].nes
Zelda Story, The (Zelda Hack).nes
Zenbei!! Pro Basket (J) [hFFE][p1].nes
Zenbei!! Pro Basket (J) [!].nes.zip
------------
Но из-за выскакивания вот этой ошибки у команда перестает работать. И дальше не работает пока я не перейду в другую директорию. Там он работает потом вылетает такая же ошибка.
Не спорю выход из положение не лучший но мне пока ничего умного, в голову не пришло. Если предложите вариант лучше буду благодарна.
Пользователь добавил сообщение 30 Мая 2016, 21:05:35:
Нашла на форуме вот этот сообщение
livanda,
Скрипт:
#!/bin/bash
# Полный путь к директории с файлами
SRC_DIR="/path/to/dir"
IFS=$'\n'
for FILE in $(find "$SRC_DIR" -type f ! -empty ! -iname "readme.txt" ! -iname "info.txt" \( -iname "*.txt" -o -iname "*.fb2" \) -print); do
FILE_NAME="$(basename -z "$FILE")"
cd "$(dirname -z "$FILE")" || { echo "Error"; continue; }
zip "$FILE_NAME".zip "$FILE_NAME" && rm "$FILE_NAME"
done
Скрипт найдет в директории SRC_DIR и всех поддиректориях файлы *.txt и *.fb2 (кроме пустых, readme.txt и info.txt) запакует каждый файл в zip, и удалит исходный файл не изменяя при этом структуру каталогов.
1. Открываем пустой файл, копируем в него текст скрипта, прописываем путь для SRC_DIR и переименовываем файл в "Compressing_files_to_zip.sh"
2. Добавляем права на запуск:
chmod +x Compressing_files_to_zip.sh
3. Запускаем:
bash Compressing_files_to_zip.sh
PS: Проверен. Работает.
все проблемы нет