Что заставляет netcat закрыться, когда я обновляю свой браузер?

Это очень легко сделать с помощью глобусов оболочки:

  1. Добавьте счетчик в имя ( accept_hits.bam.1 , accept_hits.bam.2 и так далее):

     c = 0; для f в * / accept_hits.bam; do mv "$ f" "$ f". $ ((++ c)); done 
     

    Explanation

    Это просто перебирает все файлы с именем accept_hits.bam , которые находятся в подкаталогах текущего каталога, и сохраняет каждый из них как $ f . Конструкция $ ((++ c)) увеличивает счетчик ( $ c ), поэтому $ f. $ ((++ c)) будет file.1 , file.2 и т. Д., Увеличивается на каждой итерации.

    Обратите внимание, что я использую c = 0 в начале. Если вы этого не сделаете, при последующих запусках будет сохранено значение $ c , и оно будет продолжать увеличиваться.

  2. Добавьте счетчик, но перед расширением ( accept_hits.1.bam , accept_hits.2.bam и так далее):

     c = 0; для f в * / accept_hits.bam; do 
    mv "$ f" "$ (dirname" $ ​​f ")" / "$ (basename" $ ​​f ".bam)". $ ((++ c)).bam 
    done 
     

    Explanation

    Команда dirname возвращает путь к родительскому каталогу файла:

     $ dirname / usr / local / bin / apt 
     / usr / local / bin 
     

    Команда basename обратная, она удаляет каталог, оставляя только последнюю часть пути, а также может удалить extension:

     $ basename /etc/apt/sources.list
    sources.list
    $ basename /etc/apt/sources.list .list ## remove extension 
    sources 
     

    Итак, mv "$ f" "$ (dirname" $ ​​f ")" / "$ (basename" $ ​​f ".bam)". $ ((++ c)) .bam переименует файл по своему усмотрению.

  3. Добавьте имя родительского каталога ( accept_hits.dir1.bam , accept_hits.dir2.bam или любое другое имя вашего каталога)

     для f in * / accept_hits. бац; сделать 
    dir = "$ (dirname" $ ​​f ")"; mv "$ f" "$ dir" / "$ (basename" $ ​​f ".bam)". "$ dir" .bam 
    done 
     

    Пояснение

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

  4. Используйте внешние инструменты. Perl переименует, например, . Стандартное переименование , которое поставляется с дистрибутивами на основе Debian, не может работать с увеличивающимися счетчиками. Однако я нашел этот , который может. Загрузите сценарий, ссылка на который есть на этой странице, сохраните его как increname в текущем каталоге и запустите его следующим образом:

     perl increname -n 's / .bam / ++ $ c. ".bam" / e '* / accept_hits.bam 
     

0
25.05.2018, 00:07
1 ответ

Se cierra porque el navegador abre una conexión TCP, realiza la transacción HTTP y luego dice "¡Terminé!" que normalmente cerrará la conexión. Como descubrió, el interruptor -kmantendrá abierto kel conector de escucha para futuras conexiones.

3
28.01.2020, 02:23

Теги

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