如何在不更改Linux 102221.pdf中的扩展名的情况下重命名文件到102221_name.pdf

时间:2014-10-28 07:39:14

标签: linux shell

如何在Linux \

中重命名文件而不更改扩展名

102221.pdf至102221_name.pdf

3 个答案:

答案 0 :(得分:1)

ls * | sed -r 'p;s/\.pdf$/_name\.pdf/g' | xargs -n2 mv

列出ls的所有文件,并将输出通过管道传输到sedsed将.pdf替换为_name.pdf,并将原始文件名和新文件名输出到xargs,并使用2个参数调用mv

你也可以使用更简单的rename命令

 rename 's/\.pdf$/_name\.pdf/g' ./*

正则表达式模式保持不变

答案 1 :(得分:1)

这就是你想要的:

for x in *; do mv "$x" "${x%.*}_name.${x##*.}"; done
  • ${x%.*}将提供无延伸文件的名称
  • ${x##*.}将提取扩展

答案 2 :(得分:0)

好吧,我在linux上不太好..但仍然找到了适合你的答案..希望它能解决你的目的......

检查给定的链接..您可能需要一个称为 jhead 的轻量级工具,主要是为了获取有关文件链接创建日期和时间的标题信息等等。您可以找到相关信息适合你..

答案 https://superuser.com/questions/90057/linux-rename-file-but-keep-extension

jhead的 http://www.sentex.net/~mwandel/jhead/