Как я нахожу файл с именем, которое зависит от текущей даты (и случайный компонент)?

Это - на самом деле путь, легче, чем Вы могли бы думать. Вот то, как Вы делаете это:

  1. Начальная загрузка в живой CD.

  2. Дешифруйте и смонтируйте свой раздел на Вашем жестком диске. Если у Вас будет несколько разделов, что все смонтированы при начальной загрузке, необходимо будет смонтировать все те, и в правильном порядке. Обратите внимание, что, в то время как можно выйти сухим из воды на этот раз, обычно это включает связанный смонтированный /proc и /dev в точку монтирования жесткого диска.

    Я не войду, как сделать это, так как я забываю, но необходимо смочь найти, как к онлайн (просто поиск "монтируют зашифрованный раздел Linux" или что-то), или задают новый вопрос здесь.

  3. Если Вы уже не открыли терминал, откройтесь один, и тип chroot /path/to/your/encrypted/drive bash, где /path/to/your/encrypted/drive то, где Вы смонтировали раздел жесткого диска.

    chroot обозначает "корень изменения". Корень здесь относится к корню Вашего дерева каталогов, не корневой учетной записи. В основном любая программа, которую Вы запускаете с этого времени, будет видеть жесткий диск, не CD, как корень файловой системы. bash в конце говорит chroot какую программу запустить от нового корня - таким образом, Вы работаете bash от Вашего жесткого диска, не с CD. bash будет думать, что это выполняется от чего-то как /usr/bin/bash, но в действительности это будет выполняться от /path/to/your/encrypted/drive/usr/bin/bash.

    Если мое искаженное объяснение было нечитабельно, вот статья Wikipedia и страница справочника.

  4. Выполненный passwd.

  5. Ввести exit выйти из chroot и перезагрузки из CD и в Ваш жесткий диск.

  6. Прибыль.

3
29.10.2014, 01:50
3 ответа

Эта команда find должна найти файл с датой todays:

find /path/ -regex ".*\/StaticData_Sets_$(date +%Y%m%d)-[0-9]+\.txt"

Она находит все, что содержит /StaticData_Sets_, затем дату в нужном вам формате, а затем цифру ([0-9]+).

1
27.01.2020, 21:11

Если файл находится непосредственно под данным пути (без дополнительных подкаталогов), то это должно работать.

file=$path/StaticData_Sets_$(date +"%Y%m%d")-*.txt

Если есть, то это должно работать (может потребоваться вручную включить Globstar в Bash).

    file=$path/**/StaticData_Sets_$(date +"%Y%m%d")-*.txt
1
27.01.2020, 21:11

Используйте команду Дата , чтобы генерировать текущий день с правильным выходом формата, и добавьте эту строку в имя файла следующим образом:

filename=StaticData_Sets_$(date +"%Y%m%d")
find . -name "$filename*.txt"
6
27.01.2020, 21:11

Теги

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