我最近开始使用 wget 下载文件。
我正在使用 ubuntu 16 mate 来操作我的文件。
我创建自定义 URL 以包含要保存到下载文件名的特定信息,如下所示:
http://website.com/file.txt?title_Three_little_pigs_user_spinach_
如果我使用 Firefox 和 Downthemall 下载 url,使用重命名掩码将查询字符串添加到文件名中,我可以设法获取:
Three_little_pigs_user_spinach_file.txt
如果我使用 wget 下载相同的网址(它似乎不支持重命名屏蔽),我最终会得到:
file.txt@title_Three_little_pigs_user_spinach_
我有一种方法可以批量重命名文件,如下所示:
前:
file.txt@title_Three_little_pigs_user_spinach_
后:
title_Three_little_pigs_user_spinach_file.txt
我想将@后面的文本移动到开头,然后删除@。
我有很多文件想要在 ubuntu 的终端中重命名 - 如果我可以将其添加到 bash 脚本中,那就太棒了。
我运行ubuntu和windows,但我还没有找到一个windows程序可以用这种方式重命名文件。
提前致谢。
答案1
Ubuntu 16.04 应该附带原始的 perl 提供的prename
及其更新的替代品rename
,其中任何一个都应该与标准sed
的类似替换表达式一起使用
prename -n 's/(.*)@(.*)/$2$1/' *@*
或者
rename -n 's/(.*)@(.*)/$2$1/' *@*
您还可以mmv
从存储库安装,并使用
mmv -n "*@*" "#2#1"
在所有情况下,这-n
是一个用于测试的无操作标志 - 一旦您绝对确定它会执行您想要的操作,请将其删除