Linux 批量重命名
Linux batch rename
我正在尝试批量重命名多个文件,到目前为止我已经非常接近我想要实现的目标了。我有一些名为 "website.txt"、"website1.txt"、"website2.txt"、"website3.txt" 的文件,我试图仅重命名具有与之关联的数字的文件(因此不包括 "website.txt").我的第一次尝试如下(我使用 -n 进行测试):
rename -n 's/website/website_edit/' *txt
结果:
rename(website1.txt, website_edit1.txt)
rename(website2.txt, website_edit2.txt)
rename(website3.txt, website_edit3.txt)
rename(website.txt, website_edit.txt)
如您所见,这几乎可以工作,但它也在重命名 "website.txt" 文件,这是我不想要的。所以为了尝试删除它,我这样做了:
rename -n 's/website\w/website_edit/' *txt
结果:
rename(website1.txt, website_edit.txt)
rename(website2.txt, website_edit.txt)
rename(website3.txt, website_edit.txt)
这次它确实从列表中删除了 "website.txt",但它也删除了新名称末尾的数字。我也试过弄乱一些正则表达式,但无济于事。
试试这个:
rename -n 's/website(\d+)/website_edit/' *txt
____ __
^ ^
| |
capturing at least one digit captured group
我正在尝试批量重命名多个文件,到目前为止我已经非常接近我想要实现的目标了。我有一些名为 "website.txt"、"website1.txt"、"website2.txt"、"website3.txt" 的文件,我试图仅重命名具有与之关联的数字的文件(因此不包括 "website.txt").我的第一次尝试如下(我使用 -n 进行测试):
rename -n 's/website/website_edit/' *txt
结果:
rename(website1.txt, website_edit1.txt)
rename(website2.txt, website_edit2.txt)
rename(website3.txt, website_edit3.txt)
rename(website.txt, website_edit.txt)
如您所见,这几乎可以工作,但它也在重命名 "website.txt" 文件,这是我不想要的。所以为了尝试删除它,我这样做了:
rename -n 's/website\w/website_edit/' *txt
结果:
rename(website1.txt, website_edit.txt)
rename(website2.txt, website_edit.txt)
rename(website3.txt, website_edit.txt)
这次它确实从列表中删除了 "website.txt",但它也删除了新名称末尾的数字。我也试过弄乱一些正则表达式,但无济于事。
试试这个:
rename -n 's/website(\d+)/website_edit/' *txt
____ __
^ ^
| |
capturing at least one digit captured group