日期:2014-05-16  浏览次数:20736 次

文件更名问题,困扰中
我刚刚发了一个贴得到很多人帮助,非常感谢。现在我有了我这个问题的完整版。我在redhat linux下有个application, 每次从/Src/ 目录下读最新的.txt 文件 (文件名带时间戳,这个application自己可以做到了),处理文件后这个application 会生成一个静态文件名的输出文件在/Tgt/目录下,如target.dat。现在的需求是要求把这个target.dat更名为何源数据同名但后缀名不同的文件。如源数据是test_20120210.txt,目标名就是test_20120210.dat。现在的问题是我也用rename怎么也用不了,求帮助,谢谢。

------解决方案--------------------
改了下:

mv target.dat $(ls | sort -n | tail -n 1 | sed 's/\.txt\>/\.dat/')

探讨

mv target.dat `ls | sort -n | tail -n 1 | rename "s/.txt/.dat/"`

这个试试


引用:

引用:

mv target.dat test_20120210.dat


我不知道test_20120210.dat的名字,是另一个目录下……

------解决方案--------------------
mv target.dat `ls -tr /newdir/*.txt| tail -1 | awk '{sub(".txt", ".dat"); print "/newdir/" $0}'`