首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用目录中的字符序列删除一定数量的文件

使用目录中的字符序列删除一定数量的文件
EN

Stack Overflow用户
提问于 2015-10-21 14:23:20
回答 1查看 47关注 0票数 0

我停止了一个进程来排除一些问题。现在,我想从CentOS 6.4中停止的过程开始。

我停止的这个脚本在一个循环中运行一个perl脚本来处理/dev/shm/split/中的所有文件。这些文件被从更大的文件中分割成许多部分。如何命名它们的一个示例如下:

代码语言:javascript
运行
复制
file.txt.aa
file.txt.ab
file.txt.ac

...and等。

我已经确定脚本在file.txt.fy上停止了。因此,我想从file.txt.aa通过file.txt.fy删除/dev/shm/split/中的所有文件。

我试图为rm命令创建一个白名单,方法是:

代码语言:javascript
运行
复制
ls /dev/shm/split/ > whitelist
cat whitelist | egrep -v 'file.txt.[aa-fz]' | tee whitelist.tmp

这不是我想做的。

请帮帮我!谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-21 14:33:01

命令的问题是,在bash中,不能将两个字符与方括号模式匹配。你应该用类似的东西来代替:

代码语言:javascript
运行
复制
ls file.txt.[a-e]? file.txt.f[a-y]

基本上,将您的范围分解为两个范围,第一个范围将匹配.aa.ez,第二个.fa将匹配到.fy (包括)。

注意,我在这里使用了ls命令。我始终认为,当您所执行的操作具有潜在的破坏性时,首先回显或删除要运行的命令/文件是个好主意。当您确信它产生正确的输出时,继续使用rm而不是ls

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33261937

复制
相关文章

相似问题

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