微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux查找名称相似的文件并移至新目录

假设我有一个无组织目录,其中有数千个文件,其名称中包含前缀,如abc-tab,abc-vib,h12-123,h12-498 ……如何将具有相同前缀的文件移动到自己的目录中?

我正在考虑使用类似的东西

find . -path '*/support/*abc*' -exec mv "{}" /new/abc\;

但这意味着我将不得不为每个前缀重新键入命令.

解决方法:

使用ls和uniq获取所有前缀以获取单个列表,然后使用for循环移动文件.

for F in $(ls | cut -d- -f1 | uniq); do
    mkdir "${F}" && mv "${F}"-* "${F}"
done

许多人从Advanced Bash Scripting Guide开始学习shell脚本.有关这些程序的详细信息,请查看cutuniq手册页.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐