小编mil*_*man的帖子

列出在特定范围内编号的文件

我在目录中有一组文件,编号如下:

file1.txt
file2.txt
...
file30.txt
...
Run Code Online (Sandbox Code Playgroud)

现在,我想对特定范围的文件运行命令,比如 18 到 31。

到目前为止,我已经使用了以下方法,

三个论点

command file1[8-9].txt file2[0-9].txt file3[0-1].txt
Run Code Online (Sandbox Code Playgroud)

现在假设我想要所有其他数字,

环形

for i in `jot - 18 31 2`; do echo file${i}.txt; done | xargs command
Run Code Online (Sandbox Code Playgroud)

这似乎是一个更可靠的循环(空格有效)

for i in `jot - 18 31 2`; do echo "\"file${i}.txt\" "; done | xargs command
Run Code Online (Sandbox Code Playgroud)

但似乎应该有一种更简单的方法来做到这一点。我猜最好的解决方案是创建一个 bash 函数,它将文件集返回到命令行。然后我可以做类似的事情,

command `filerange file 18 31`
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法或建议来有效地做到这一点?

如果我错过了在网络或superuser.

bash range

16
推荐指数
1
解决办法
4万
查看次数

标签 统计

bash ×1

range ×1