首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何“rm”或“mv”一系列文件,如file01.txt、file02.txt.file85.txt

如何“rm”或“mv”一系列文件,如file01.txt、file02.txt.file85.txt
EN

Ask Ubuntu用户
提问于 2016-08-07 08:05:09
回答 1查看 6.7K关注 0票数 26

假设我有一堆这样命名的文件:

代码语言:javascript
复制
file01.txt file02.txt file03.txt ... file20.txt

我想对这些文件的范围执行一个命令。

我知道如果想要'rm‘从'file05.txt’到'file09.txt‘,我可以:

代码语言:javascript
复制
rm file0[5-9].txt

但是,我如何'rm‘范围从file08.txt到file13.txt?我试过这段代码

代码语言:javascript
复制
rm file[08-13].txt

但不起作用。我可以运行这个命令:

代码语言:javascript
复制
rm file0[89].txt file1[0-3].txt

但我想知道,如果可能的话,我是否可以再用一个精炼的“rm”参数来完成这个任务。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2016-08-07 08:06:44

您需要使用bash的支撑扩展:

代码语言:javascript
复制
rm file{08..13}.txt

这将将文件file08移至file13,如果缺少任何文件,将显示错误消息。

设定范围以满足您的需要。

全局运算符[]的问题是,它将其中的每个字符/数字作为单个令牌来处理,因此只支持使用个位数的范围声明。

如果坚持使用[],可以使用这种非常难看的模式将file08file13相匹配:

代码语言:javascript
复制
rm file0[8-9].txt file1[0-3].txt
票数 46
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/809146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档