重命名SSH中的多个文件

问题描述 投票:0回答:1

我有一个Centos服务器。

在SSH中,我使用以下命令在txt中下载了多个mp4文件:

wget -i urls.txt

现在,我在目录中有一个mp4文件列表。问题是那些mp4文件被命名为:

65464.mp4?md5=sdokj7SRuM-OKatFmdCJJg&expires=1570102642
45421.mp4?md5=sdokj56SRuM-OKatFmdCJJg&expires=157010277842
etc...

如何删除?以及此目录中所有文件之后的所有内容(例如?md5=sdokj7SRuM-OKatFmdCJJg&expires=1570102642),因此它将文件名更改为:

65464.mp4
45421.mp4
etc...

谢谢。

ssh centos
1个回答
0
投票

解决方案将取决于您的CentOS系统正在运行或具有什么外壳。如果您正在运行bash,则可以执行以下操作:

for x in * ; do
    mv $x ${x%%\?*}
done

这使用bash string variable manipulation技术。

另一个可能的解决方案,仍然取决于外壳功能:

for x in * ; do
    mv $x $(echo $x | sed "s/\?.*//")
done
© www.soinside.com 2019 - 2024. All rights reserved.