首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

centos7 上批量改文件名怎么改呢

  •  
  •   Cy86 · 93 天前 · 682 次点击
    这是一个创建于 93 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器上有下好的一堆视频,都是数字格式比如: 12345.MP4 1241057.MP4 ,但我电脑本地 sublime 里有 数字 ID 对应的电影名, 格式: 12345=澳门首家线上#$开业啦
    1241057 = x 感荷 guan 在线发牌

    请问各位大神,一个一个换,太慢了,有什么办法能把视频批量对号入座般重命名么. 小弟以链接相报

    还有个额外问题, 服务器里是有很多视频,但我需要传到某网盘里,他网盘每个视频能拉个在线视频链接出来所以用的他的, 但上传的话需要用.exe 结尾的文件, 如果我本地上传的话 用 win 电脑的确方便, 但速度只有 200K, 所以想怎么再能在 VPS 里 打开.exe 软件 然后可视化操作就像在 Windows 上一样 操作这个软件, 方便把视频上传进去.

    5 回复  |  直到 2018-05-18 09:56:13 +08:00
        1
    msg7086   93 天前   ♥ 1
    sublime 里用多光标功能把文件改变成
    mv "12345.mp4" "12345=xxyyzz.mp4" ( Windows 的话用 ren 命令)
    的形式,然后贴进服务器命令行不就好了。

    Windows 也可以用 xTools 拖把改名器里的文本文件命名功能来改。
        2
    KasonPasser   92 天前
    用 vim 中的 :r ls 导入文件列表,然后就用正则替换成 shell,执行 shell。
        4
    mritd   92 天前 via iPhone
    我选择自己写一个
        5
    ceyes   92 天前   ♥ 1
    ```
    $ ls
    123.MP4 12345.MP4 1241057.MP4 map.txt test.MP4 test.mp3

    $ cat map.txt
    12345=澳门首家线上#$开业啦
    1241057 = x 感荷 guan 在线发牌

    $ for i in *.MP4; do fid=${i//.MP4}; fname=$(awk -F '=| = ' '{if ($1~/^'"$fid$"'/) {print $2; exit}}' map.txt); fname=${fname:-$fid}; if [[ "$fname.MP4" = "$i" ]]; then continue; else echo "mv '$i' '$fname.MP4'"; fi; done
    mv '12345.MP4' '澳门首家线上#$开业啦.MP4'
    mv '1241057.MP4' 'x 感荷 guan 在线发牌.MP4'
    ```

    谨慎起见,先把 mv 命令打印出来了,自己检查下,没问题的话,复制运行即可。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   598 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 22:00 · PVG 06:00 · LAX 15:00 · JFK 18:00
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1