【问题标题】:Rename multiple files in SSH在 SSH 中重命名多个文件
【发布时间】:2023-03-15 05:55:01
【问题描述】:

我有一个 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】:

    解决方案将取决于您的 CentOS 系统正在运行或可用的 shell。如果你正在运行bash,你可以做一些简单的事情:

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

    这使用了bash string variable manipulation 技术。

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

    for x in * ; do
        mv $x $(echo $x | sed "s/\?.*//")
    done
    

    【讨论】:

    • 第一个解决方案工作正常。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2013-03-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多