Bashの使用
たとえば、親ディレクトリにランダムに配置された一連のファイルがあるとします。~/src
特定のサフィックスに一致するすべてのファイルを取得し、それらを~/dist
ディレクトリに移動(またはコピー)したいとします。
この目的のために、すべてのファイル名に次の命名規則があると仮定します。
<filename_prefix>.<filename_suffix>
これが特定のファイルをすべて取得filename_suffix
してdistフォルダーに配置する簡単な方法であることがわかりました。
mkdir ~/dst
find source -name "*.xxx" -exec mv -i {} -t ~/dst \;
ここでさらに一歩...この場合filename
、findの出力を使用して、を使用しfilename_prefix
て同じ名前のディレクトリを生成し、~/dist
そのプレフィックスを持つすべてのファイルを適切なディレクトリに移動(またはコピー)する方法を教えてください。
mkdir ~/dst
find source -name "*.xrt,*.ini,*.moo" -exec mv -i {} -t ~/dst \;
基本的に、上記のコマンドを変更(または別のコマンドを使用)して、次のような構造を作成するにはどうすればよいですか。
(出力)
~/dist/people/people.xrt
~/dist/games/games.xrt
~/dist/games/games.moo
~/dist/games/games.ini
~/dist/monkeys/monkeys.ini
~/dist/monkeys/monkeys.xrt
このようなディレクトリツリーから?
(入力)
~/src/xrt/people.xrt
~/src/xrt/games.xrt
~/src/conf/games.ini
~/src/pack/monkeys.xrt
~/src/e344/games.moo
~/src/e344/monkeys.moo
~/src/en-us/monkeys.ini