MacOS/Windows -Как извлечь конкретный файл.json из нескольких zip-архивов и переименовать файл.json в папку, из которой он был извлечен

Символическая ссылка — это просто помощник для поиска фактического файла, который на самом деле является помощником для поиска фактического индексного дескриптора. После этого то, что вы открываете, определяется самим инодом. В случае /dev/pts/1вы фактически открываете символьное устройство со старшим номером устройства 136 и младшим 1.

С этого момента имена файлов, наличие файлов или символические ссылки не имеют значения, точно так же, как вы можете получить доступ к файлу, который был удален, если вы открыли его до того, как он был удален.

0
19.01.2021, 03:58
1 ответ

Всего несколько ошибок в вашем файле сценария оболочки. Я исправил это как следующий код (вы можете использовать bash -x для отладки и дополнительной настройки при необходимости)

bash -x test.sh

Примечания:Для запуска одного и того же кода в Windows и MacOS я думаю, вам следует использовать Linux WSL в Windows или заменить unzip на 7z в следующем код:

#! /bin/bash
#
# save this file as test.sh
#
mkdir -p "DESTDIR"
for ZIPFILE in *.zip ; do
    NAME="${ZIPFILE%.*}"
    mkdir -p "DESTDIR/$NAME"
    unzip -j $ZIPFILE reports/report.json -d "DESTDIR/$NAME/"
    mv "DESTDIR/$NAME/report.json" "DESTDIR/$NAME.json"
done
0
18.03.2021, 22:36

Теги

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