如何在Linux中重命名文件而不改变扩展名?
将102221.pdf重命名为102221_name.pdf。
将102221.pdf重命名为102221_name.pdf。
这是您想要的内容:
for x in *; do mv "$x" "${x%.*}_name.${x##*.}"; done
${x%.*}
将返回不带扩展名的文件名${x##*.}
将提取扩展名echo $x | tr '[a-z]' '[A-Z]'
%.}_date '+%y%m%d''
.${echo $x | tr '[a-z]' '[A-Z]'
##.} - Pravin Hingeecho $a | tr '[a-z]' '[A-Z]'
,然后 UENITITY=${upper%.}_date '+%y%m%d'
.${upper##.} - Hackaholicfor x in *
代替? - dessertls * | sed -r 'p;s/\.pdf$/_name\.pdf/g' | xargs -n2 mv
ls
命令列出所有文件并将输出传输到sed
。 sed
将.pdf替换为_name.pdf,并将原始文件名和新文件名输出到xargs
,然后使用这两个参数调用mv
。rename
命令。 rename 's/\.pdf$/_name\.pdf/g' ./*
我在Linux方面不是很擅长,但还是为您找到了一个可行的答案。希望它能解决您的问题。
请查看给定的链接。您可能需要一个轻量级工具,称为jhead,主要用于获取有关文件链接创建日期、时间和其他信息的头部信息。您可以找到适合您的信息。
Answer https://superuser.com/questions/90057/linux-rename-file-but-keep-extension