BASH - 对具有某种扩展名的所有文件执行命令

Tre*_*era 3 bash

我必须在bash中对扩展名为“.prot”的文件夹中的所有文件执行命令

该命令称为“bezogener_Spannungsgradient”,其名称如下:

bezogener_Spannungsgradient filename.prot
Run Code Online (Sandbox Code Playgroud)

谢谢!

Dev*_*lar 5

find . -maxdepth 1 -name \*.prot -exec bezogener_Spannungsgradient {} \;
Run Code Online (Sandbox Code Playgroud)

-maxdepth <depth>防止find递归到超出给定深度的子目录。

-name <pattern>限制find与模式匹配的文件。find为了防止 bash 将选项扩展为匹配文件列表,转义是必要的。

-exec <cmd> {} \;<cmd>对每个找到的文件执行({}用文件名替换)。如果该命令能够处理文件列表+,请使用\;.

我通常建议熟悉以下许多其他选项find;它是最被低估的工具之一。;-)