Bash 没有对每个匹配的文件调用OSX find和sed

Bash 没有对每个匹配的文件调用OSX find和sed,bash,macos,replace,sed,find,Bash,Macos,Replace,Sed,Find,首先,我的问题是: 我有数千个测试文件,它们当前在另一个函数中调用一个函数。这可以放在文件中的任何位置,但只能调用一次。结构如下: md=mod.solver(mod,TestFunctionCall()) 我需要用字符串替换函数调用TestFunctionCall(),具体来说,我需要删除call(),并用'字符替换它。我还需要在TestFunctionCall()的开头添加一个'标记。因此,基本上我想做以下工作: TestFunctionCall()->“TestFunction” 因此,我

首先,我的问题是:

我有数千个测试文件,它们当前在另一个函数中调用一个函数。这可以放在文件中的任何位置,但只能调用一次。结构如下:

md=mod.solver(mod,TestFunctionCall())

我需要用字符串替换函数调用
TestFunctionCall()
,具体来说,我需要删除
call()
,并用
'
字符替换它。我还需要在
TestFunctionCall()
的开头添加一个
'
标记。因此,基本上我想做以下工作:

TestFunctionCall()->“TestFunction”

因此,我的最终输出应该如下所示:

md=mod.solver(mod,'TestFunction')

问题是,
TestFunction
有许多不同的名称,尽管它们以
Call()
结尾,但它们可能有不同的名称(例如
MySolverCall()
HelloWorldCall()
,等等)

由于我想要的所有文件都有名称和扩展名
test*.txt
,我想这对于
find
sed
来说足够简单。因此,我使用了以下命令:

find-键入f-name“test*.txt”-exec sed“s/solver(mod,\(.*\)Call()/solver(md,\'\1\'/g”{};

这会在我正在编辑的文件中向我吐出大量文本,然后它会正确地替换
FunctionNameCall()
使用
'FunctionName'
,但在决定停止之前,它只在大约10个文件中执行此操作。似乎无论我调用此命令的文件有多少,它在停止之前只会编辑大约10个文件


如何使其编辑当前目录中名为
test*.txt
的每个文件?

是否查找。-键入f-name“test*.txt”-exec echo{}\
输出所有文件名?@123 Yep:(我有一种感觉,它不能处理来自
sed
的所有输出,也许?不管有多少输出,因为它都直接发送到STDOUT。@Alex我想你的子文件夹中有文件,因此使用
find
。否则可以直接给它们
sed'command'test*.txt
。其次,你能手动复制几个文件吗(超过10个)到另一个文件夹,看看它是否工作。您可以尝试使用它
find..-exec sed的/../../g'{}>/path/to/mage/output.txt来查看问题是否与屏幕的输出或其他内容有关吗?在发出
find
之前,也可以使用
set-x