Ошибка Python | Базовый

for dir in ????-??-??--??:??:??/; do
    if [[ $dir > "2020-01-05--00:00:00" ]]; then
        printf '%s\n' "$dir"

        # process "$dir" here

        break
    fi
done

Приведенный выше скрипт будет перебирать каталоги в текущем каталоге, имена которых соответствуют шаблону ????-??-??--??:??:??.

Для каждого каталога сравнивается со строкой 2020-01-05--00:00:00. Если он сортирует после этой строки лексикографически, печатается имя каталога и цикл завершается.

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

Чтобы скопировать этот каталог в другое место, замените комментарий на что-то вроде

rsync -av "$dir" /somewhere/elsewhere

Ниже приведен сценарий, который берет конкретную строку из своего первого аргумента командной строки и делает то же самое:

#!/bin/bash

for dir in ????-??-??--??:??:??/; do
    if [[ $dir > "$1" ]]; then
        printf '%s\n' "$dir"

        # process "$dir" here

        break
    fi
done

Тестирование этого с каталогами, которые вы указали:

$ ls -l
total 10
drwxr-xr-x  2 myself  wheel  512 Jan 24 11:14 2019-12-04--16:12:56
drwxr-xr-x  2 myself  wheel  512 Jan 24 11:14 2019-12-09--13:36:53
drwxr-xr-x  2 myself  wheel  512 Jan 24 11:14 2020-01-23--13:24:13
drwxr-xr-x  2 myself  wheel  512 Jan 24 11:14 2020-01-23--13:47:03
-rw-r--r--  1 myself  wheel  119 Jan 24 11:23 script.sh
$./script.sh "2020-01-05--00:00:00"
2020-01-23--13:24:13/
-1
30.09.2020, 07:32
1 ответ

Похоже, что вы запускаете команды с помощью интерпретатора Python. Команды, которые вы показываете, должны запускаться оболочкой, например bashи т. д., в терминале. Это не код Python.

Ничего не могу сказать о валидности кода, кроме того, что второй cdничего не сделает и его можно удалить, и что имя файла, используемое с командой tar, нужно будет изменить на сопоставьте файл, загруженный сwget(geckodriver-v0.26.0-linux64.tar.gz).

2
18.03.2021, 23:01

Теги

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