web-dev-qa-db-ja.com

ハッシュ形式としてのみ名前が付けられているファイルをコピーするにはどうすればよいですか

Directory1にファイルのリストがあり、存在する唯一のハッシュファイルを別のdirectory2にコピーする必要があります。スクリプトを使用してそれを行うにはどうすればよいですか?通常の名前の他のファイルの場合はそれを行うことができますが、ハッシュはどうですか?それを行うには解析が必要ですか?ファイル名はこの形式ですe6a0feaeh74b94f91419795647be61801b06ecec912087c14907da77f90d6e1a

1
ludo

したがって、他のファイルの名前に数字がない場合、つまり0123456789の場合、このようなものはおそらくあなたが望むことをするでしょう

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

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

/ directory2 /をファイルのコピー先の正しい宛先ディレクトリに置き換えるだけです。

注意:これは非常に初歩的なスクリプトであり、実行するときはディレクトリにいる必要があります。それはいくつかの研磨で行うことができるので、必要に応じて変更してください。

0
nobody special

私はあなたのファイル名が64文字(∈小文字または数字)であると仮定します。

Perlを使用すると、次の行に沿って何かを実行できます。

_Perl -e 'for (grep(/^[a-z0-9]{64}$/,<*>)){`mv $_ directory2/`}'
_
  • _<*>_すべてのファイルを展開します。
  • grep(/^[a-z0-9]{64}$/, ...)は64個の長いものを選択します
0
JJoao