Как мы копируем файл, которые только называют как формат хеша

У меня есть список файл в directory1, и я должен скопировать единственный файл хеша, существующий в другой directory2. Как я могу сделать это с помощью сценария? для какого-либо другого файла с нормальным именем я могу сделать это, но что относительно хеша? нам нужен парсинг, чтобы сделать это? имя файла находится в этой форме e6a0feaeh74b94f91419795647be61801b06ecec912087c14907da77f90d6e1a

0
задан 18 December 2018 в 03:27

2 ответа

Таким образом, если бы другие файлы не имеют никаких цифр, т.е. 0123456789, на имя, поскольку Вы сказали затем, что что-то вроде этого, вероятно, сделало бы то, что Вы хотите

#!/bin/bash
pattern="[0-9]"

for fn in ./* ; do
    if [[ $fn =~ $pattern ]]; then
        cp $fn ./directory2/
    fi
done

Просто замените/directory2/корректным целевым каталогом, в который Вы хотите скопировать файл.

NB: Это - очень элементарный сценарий, это также, требует, чтобы Вы были в каталоге, при выполнении его. Это могло сделать с некоторой полировкой, поэтому изменить его, поскольку Вы должны.

0
ответ дан 26 October 2019 в 20:01

Я Предположу, что Ваши имена файлов имеют 64 символа (∈ строчные буквы или цифры).

Используя Perl, Вы могли выполнить что-то вроде

perl -e 'for (grep(/^[a-z0-9]{64}$/,<*>)){`mv $_ directory2/`}'
  • <*> расширьтесь для всех своих файлов,
  • grep(/^[a-z0-9]{64}$/, ...) выбирает 64 длинных
0
ответ дан 26 October 2019 в 20:01

Другие вопросы по тегам:

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