【发布时间】:2010-10-09 09:14:56
【问题描述】:
我有一个任务,我需要将一堆文件从一个目录移动到另一个目录。我需要同时移动具有相同文件名的所有文件(即 blah.pdf、blah.txt、blah.html 等),并且我可以每四分钟移动一组文件。我有一个简短的 bash 脚本,可以在这些时间间隔一次移动一个文件,但新的名称要求让我失望。
我的旧脚本是:find ./ -maxdepth 1 -type f | while read line; do mv "$line" ~/target_dir/; echo "$line"; sleep 240; done
对于新的脚本,我基本上只需要替换 find ./ -maxdepth 1 -type f
带有唯一文件名的列表,没有扩展名。然后我可以将do mv "$line" ~/target_dir/; 替换为do mv "$line*" ~/target_dir/;。
所以,说了这么多。什么是使用 bash 脚本获取没有文件名的唯一文件列表的好方法?我正在考虑使用正则表达式来获取文件名,然后将它们放入哈希中以获得唯一性,但我希望有一种更简单/更好/更快的方法。想法?
【问题讨论】:
标签: bash