使用重击
假设我有一堆文件随机放置在父目录中~/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