繁体   English   中英

扩展名后重命名所有文件

[英]rename all files after extension

扩展名之后是否可以编写脚本来重命名所有文件?

文件夹中的示例有:

hello.txt-123ahr
bye.txt-56athe
test.txt-98hg12

我想要输出:

hello.txt
bye.txt
test.txt

如果只想从短划线中删除所有内容,则可以使用参数扩展:

#!/bin/bash
for file in *.txt-* ; do
    mv "$file" "${file%-*}"
done

${file%-*}意思是“从最后一个破折号中删除$file ”。 如果要从第一个破折号开始,请使用%%

请注意,如果某些文件的前导部分相同,则可能会覆盖它们,例如hello.txt-123abchello.txt-456xyz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM