shell – 删除最后n个字符重命名文件

前端之家收集整理的这篇文章主要介绍了shell – 删除最后n个字符重命名文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过删除最后N个字符来重命名文件

例如,我想通过删除最后7个字符来重命名这些文件

从:

file.txt.123456

至:

file.txt

这可以在一个命令中执行吗?

您可以使用删除固定数量的字符
mv "$file" "${file%???????}"  # 7 question marks to match 7 characters

这适用于任何符合POSIX标准的shell.

删除最后一个扩展名(可能多于或少于7个字符),请使用

mv "$file" "${file%.*}"

要在给定扩展名后修剪所有内容,您可以尝试

EXT=csv
mv "$file" "${file%.$EXT.*}".$EXT

实际上删除了.$EXT以及之后的所有内容,但随后重新附加.$EXT.

猜你在找的Bash相关文章