我在我的主目录中有这两个文件 –
hello_newest.txt goodbye_newest.txt
我想重命名它们,以便文件名的“最新”部分被完全删除,以便他们能够回忆hello.txt和hello.txt
这是我正在运行的命令 –
find -name "*.txt" -exec rename 's/newest//i' {} ";"
它没有抛出一个错误,或者在我运行这个命令后对文件做任何事情。 我已经检查了http://www.computerhope.com/unix/rename.htm ,它看起来应该基于这些例子中的一些工作。
我确定这很简单,但是我错过了什么?
看起来可能是我们所使用的Redhat版本。 命令 –
rename _newest '' *
似乎完成相同的目标。
谢谢您的帮助。
不同的语法。 但是为我工作:
for i in *.txt; do mv "$i" "`echo $i | sed 's/_[^.]*//'`"; done
所有的txt文件都是使用for循环find的,然后使用sed删除下划线之后的文件。