パターンを見つけて移動します

パターンを見つけて移動します

パターンを見つけて別の場所に移動する方法を知っている人がいるかどうか疑問に思います。

たとえば、次のような名前のファイルがたくさんあります。

odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...

odbc.iniパターンだけを検索して、すべて別のフォルダに移動したいと思います。

私は2つのコマンドを同時に実行する方法(パイプライン)に慣れていません。

答え1

あなたはそれを使用することができます

find . -name "odbc.ini*" -exec mv {} destination \;

これは、ファイルが現在のディレクトリから始まるディレクトリ階層にあると仮定します.

答え2

ファイルがすべて単一のディレクトリにあり、再帰が不要な場合:

shopt -s nullglob
mv odbc.ini* /new/directory/

再帰が必要な場合:

find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;

他の方法もありますが、extglob読者のための練習として残しておきます =]

答え3

すべてのファイルが同じディレクトリにある場合:

mv /path/to/source/odbc.ini* /path/to/destination

サブディレクトリのファイルも移動するには、次の手順を実行します。

shopt -s globstar      # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination

関連情報