我还不太熟悉 grep/find/awk/xargs 的所有技巧,所以请耐心等待 =]
我在某个目录中的随机位置中有一个特定文件类型,例如 *.xxx。我如何找到所有此类文件,并将它们移动到 Unix 上我的主目录中的文件夹(可能尚不存在)?
答案1
使用find
该exec
选项,但首先创建目标文件夹。
mkdir -p /home/somewhere/else
find /somewhere -iname "*.xxx"
这将列出所有要移动的文件。现在,如果您确定这些是要移动的文件,请执行以下操作:
find /somewhere -iname "*.xxx" -exec mv '{}' /home/somewhere/else/ \;
在行中exec
,'{}'
将被替换为实际文件名,并将移动到目标。同样,要复制,只需将其替换mv
为cp
。\;
需要使用 来终止命令。
如果您希望在每个文件操作覆盖已存在文件之前进行确认,则可以分别-i
在mv
或 之后添加选项cp
。
不需要grep
和xargs
他们的类似的东西。这会让事情变得不必要地复杂化。