我在目录中有一组文件,编号如下:
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.