我有一个至少包含 30 个文件的文件夹。
名字是:
123456_12_12_AB12_NAME.mp4?BWSQv6seywG5ND2Myt7YM3JHPmaaNmtBRI0PcXbYpqoS01ivTvL0HCHvjfjFtOM9AMq7-kpHUZ0W_m8njEjqBkM9uyngsnKANw
如何去掉 后面的字符串?最终结果是:
123456_12_12_AB12_NAME.mp4
如果我使用以下方法,我就能实现我想要的:
ls -l | cut -f1 -d"?"
但如何将其放入批处理文件中以实际重命名文件。
最后,我是否将代码放入 .sh 文件中?或者直接从命令行?
答案1
for f in ./*
do
echo mv -- "$f" "${f%%\?*}"
done
echo
如果结果看起来正确,请删除。是?
一个特殊的 shell 通配符,需要转义才能直接与文件名中的问号匹配。