在多个目录中的同名文件上运行命令

苏菲扬

我想执行一个命令,该命令接受多个参数,这些参数位于相同文件名下的不同目录中,例如

mycommand dir-001/myfile dir-002/myfile dir-003/myfile … dir-048/myfile

我正在寻找一些shell命令,该命令可以将所有文件放在子目录中,其编号从1到48或任何数字作为命令参数。

库萨兰达

您可以使用标准的文件名通配符,例如对于所有3位数字(按顺序):

$ mycommand dir-[0-9][0-9][0-9]/myfile

使用基本的Globing时,您需要一种模式来表示一位数字,一种模式来表示两位数字,等等。

$ mycommand dir-[0-9]/myfile dir-[0-9][0-9]/myfile

Zsh(但不包括其他Shell)也支持mycommand dir-<->/myfile,例如mycommand dir-<3-42>/myfile,目录号为3到42。

或者,如果您喜欢大括号扩展(并且您的外壳支持它):

$ mycommand dir-{1..3}/myfile

如果您的目录名称包含前导零,则将其放在大括号中,例如dir-{001..048}/myfile

通过花括号扩展,您也可以这样做(在ksh93和zsh中,但在bash中不行)

$ mycommand dir-{1..$n}/myfile

其中$n扩展为某个整数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

递归遍历目录,并在目录中的文件上运行命令

Perl:在多个目录中的多个文件上运行脚本

最好的方法在目录树中的每个文件上运行命令

如何在目录中的多个文件上运行 Python 程序?

重命名多个子目录中的同名文件

如何在多个文件上运行命令

对目录中的每个文件运行命令

touch命令在一个目录下创建多个文件(不同名称)

获取命令以在子目录中的所有文件上运行

目录中可以有多个具有相同名称的文件/目录吗?

在目录中的多个文件上运行Java程序,并以唯一的名称输出

在共享目录中的 Docker 进程文件上运行的多个应用程序

将多个目录中的多个文件从服务器复制到本地,文件进入与服务器同名的目录

一次在多个文件上运行bash命令

使用TCL脚本在多个文件上运行命令

在多个文件上运行tabix命令的Shell脚本

命令行循环以在目录(如果可能的话,还有子目录)中的所有文件上运行命令

在子目录中创建同名文件

对目录中的每个文件运行一系列命令

运行diff命令比较目录中的所有文件

遍历子文件夹以在许多目录中运行命令

如何在目录中的每个文件夹上运行命令?

对目录中的每个文件运行批处理命令

grep命令用于多个目录中的文本文件

std::process::Command 无法在 macOS 上运行 hdiutil(挂载失败 - 没有此类文件或目录),但该命令在终端中运行时运行良好

是否可以在目录A中运行tar命令,从而从目录C中的文件中在目录B中创建tar归档文件?

在多个线程上运行命令

在多个线程上运行命令

如何在同一目录中的多个文件上运行此Python 2.7脚本