Неоднократно архивируя файл, который недавно создается, но идентичный, однако shasum zip продолжает изменяться

[112413]Bash's [112841][[[112842]] не поддерживает [112843]-a[112844]. Один из подходов заключается в использовании [112845][[112846] и в противном случае сохранить все как есть:

  • Для достижения наилучших результатов с [112847][[112848], однако, следует использовать переменные в двойных кавычках:
  • Хотя в общем случае [112849]-a[112850] и [112851]-o[112852] следует избегать, так как команда [112853][[112854] не может надежно разобрать свои аргументы, когда она получает более 4 (кроме [113239][[113240] и [113241]][113242])[112856]. Поэтому
  • В качестве альтернативы[112858] сохраните [112859][[[112860], но используйте [112861]&&[112862] для [112863]-a[112864]:
  • Многие предпочитают [112865][[[[112866]], а не [112867][[112868], потому что двойные кавычки вокруг переменных являются ненужными.

    Но здесь, если вы собираетесь использовать специфический синтаксис ksh/bash/zsh, для арифметического сравнения, вы можете также написать:

    MORE:[112870] Строки [112871]grep[112872] имеют две проблемы. Как отметил Хауке, в одной из них есть лишняя двоеточие. Во-вторых, для использования синтаксиса [112873][0-9]+[112874], обе строки нуждаются в опции [112875]-E[112876] для расширенного regex:

    2
    13.04.2017, 15:36
    3 ответа

    Я закончил генерировать .gitsha для репо в корневой папке и переписывая его, если оно устарело. Это дает мне то, что я хочу .. За счет взрывающейся одной линейки кода до 20 ..

    new_sha=$(git rev-parse HEAD)
    if [ -f ../.gitsha ]
    then
       old_sha=$(cat ../.gitsha)
       if [ $old_sha = $new_sha ]
        then
        generate=false
        echo "gitsha file up to date"
       else
        generate=true
        echo "gitsha file out of date"
       fi
    else
        echo "git sha file missing"
       generate=true
    fi
    
    if [ $generate = true ]
        then
        echo $new_sha > ../.gitsha
    fi
    

    вместо Git Rev-Parse Head> .gitsha

    0
    27.01.2020, 22:56

    Команда Zip добавляется к выводу Zip-файл. Попробуйте удалить его между Runs.


    Обновление: я проверял -x для себя, и кажется, что он все еще вставляет файл Timestamp в файле (как видно в unzip -l )

    Если вы взглянуте на Протокол в Википедии Вы можете видеть, что поля и поля времени всегда присутствуют, а затем в конце заголовка у них есть место для полей, специфичных ОС. Я бы сказал, что -x оставит эти конкретные ОС дополнительные поля.

    Итак, я думаю, что единственный способ получить последовательный ZIP-файл - иметь постоянные метки времени. Вы можете попробовать коснуться файла до определенной даты, прежде чем добавлять его в ZIP-файл.

    0
    27.01.2020, 22:56

    Предполагая, что у вас есть разрешения (или вы можете убедить SysAdmin), я предлагаю изучить tmux , который является терминальным мультиплексором. Tmux позволяет делать все, о чем вы говорите и многое другое. Вы можете управлять всеми окнами и просто отсоединять сеанс по завершении. Захват, если вы остановились, так же прост, как и повторное подключение к отсоединенному сеансу ( одна из многих направляющих ). Мой текущий сеанс tmux управляет более чем 30 + 'вкладок' прямо сейчас, так что я всегда могу приостановить свою работу в конце дня и быстро забрать снова, где я оставил на следующий день.

    Вы даже можете вложить свои вкладки в те же окна! Пример управления окном:

    enter image description here

    -121--139730-

    Общий подход состоит в том, чтобы считывать имена файлов из архива (если они не всегда одинаковы), а затем tar извлекать только один файл одновременно. GNU tar имеет опцию -to-stdout , которая запрещает запись файла. Без этого потребуется FIFO для каждого имени файла.

    > tar -tf subdir.tar.gz
    R1.fastq
    R1.fastq
    
    tar -xf subdir.tar.gz --to-stdout R1.fastq | gzip -n9 >/path/to/R1.fastq.gz
    tar -xf subdir.tar.gz --to-stdout R2.fastq | gzip -n9 >/path/to/R2.fastq.gz
    
    -121--244440-

    Проверьте выходные данные команды последовательностей в файлах застежки -молнии:

    $ strings test.zip blah.zip                         
    .gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
    .gitshaPK
    QH;F
    .gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
    QH;F
    .gitshaPK
    

    Содержимое трёх рядов остается прежним, но порядок меняется. Таким образом, может существовать какой-то компонент застежки -молнии, который не зависит точно от порядка. Я буду обновлять, когда смогу определить, как сделать вывод постоянным.

    0
    27.01.2020, 22:56

    Теги

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