如何将扩展名附加到尚未存在的文件?

时间:2013-06-25 21:46:07

标签: unix batch-file cron grep find

我有一个cron,它将.txt附加到目录中的每个文件。

find /path/to/directory -type f -exec mv '{}' '{}'.txt \;

不幸的是,保持附加.txt,即使它已经拥有它!

我的目录现在看起来像这样......

file1.txt.txt.txt.txt.txt.txt.txt.txt.txt
file2.txt.txt.txt.txt.txt.txt.txt.txt.txt

你推荐什么?

1 个答案:

答案 0 :(得分:4)

您必须修改find命令才能排除带扩展名的文件。

find /path/to/files ! -name "*.*" -type f -exec mv '{}' '{}'.txt \;

然而,这也意味着它会忽略如下文件:

i.am.a.file.with.no.extension

因此,如果您有上述文件,那么最好使用regex选项为.处的$编制索引。

相关问题