bash - 例如,选择编号为“file.00001”到“file.00431”的文件
问题描述
我想选择名为:“file.xxxxx”的文件。每个 x 可以从 0 到 9。例如,我将这段代码用于文件 file.0000x
#!/bin/bash
for i in {1..9}
do [...] file.0000${i} > tmp.0000${i}
done
如果文件被命名为 file.x 并且 x 从 0 到任何值,我就会知道该怎么做。我考虑过使用 5 个变量 i,j,k,l,m 对应于五个“x”([0-9]),但它不起作用,我不确定它是否正确。有小费吗 ?谢谢 !
解决方案
如果您只想处理现有文件,更好的方法是使用regex globbing。
for f in file.[0-9][0-9][0-9][0-9][0-9] ...
并直接使用文件名f
。
另一方面,大括号扩展将创建所有可能的组合。
推荐阅读
- jestjs - 为什么 Angular 规范文件中的 ApolloTestingModule 会开玩笑抛出:“无法读取未定义的属性‘使用’?
- android - 如何制作这种类型的可展开视图
- sql - 插入到连接表中
- php - 无法弄清楚究竟是哪个变量试图调用“未定义变量:用户”
- apache - htaccess 301 重定向到新页面不起作用
- sftp - Chilkat:对密钥交换密码的 sftp 支持
- c# - 在 HttpWebRequest 中设置“Content-Type”标头的最佳方法?
- javascript - 如何在不刷新 php 的情况下打开、读取、关闭、更新、重新打开和读取文件
- jquery - 如何检查输入文本的值并显示正确或错误
- log4j2 - 如何将换行符附加到紧凑的 JSONLayout log4j2 条目