あるディレクトリから別のディレクトリに全体ではなく一部のファイルを移動する方法は?

あるディレクトリから別のディレクトリに全体ではなく一部のファイルを移動する方法は?

あるディレクトリから別のディレクトリにファイルを移動する必要があります。しかし、いくつかの問題もあります。私のファイル名のパターンは次のとおりです。

  apple.0, apple.<n>, n -> {0,1,2,3 ...~ }

mv apple.*常にアクティブなapple.0を維持する必要があるため、動作しません。

移動方法(この場合はapple.0を保持)

ベストアンサー1

bashを使用している場合は、次のものが利用可能でなければなりません。

mv apple.[^0]* /other/directory/

拡張子がゼロで始まらないすべてのファイルが移動されます([]の先頭の「^」はbashの「no」を意味します)。エンディングに文字が1つしかないと確信している場合は、次のものを使用することもできます。

mv apple.[^0] /other/directory/

数字で終わるファイルのみを確認する必要がある場合は、次のものを使用できます。

shopt -s extglob
mv apple.@([1-9])*([0-9]) /other/directory/

しかし、これはapple.01または同様のものと一致しません...

最後に、数字で終わるすべてのリンゴファイルをインポートする必要があります。

shopt -s extglob
mv apple.*([1-9]|[0-9]+([0-9])) /other/directory/

おすすめ記事