执行带有文件夹内每个文件名参数的命令

执行带有文件夹内每个文件名参数的命令

我想执行一个命令,我们将其命名为 abc,并将当前文件夹中的每个文件名添加为参数。如何在 C Shell(或其他脚本语言)中执行此操作?

答案1

使用cshtcsh,这将遍历当前目录中的所有文件和目录。我在$i变量替换周围使用了引号,以防某些名称有空格。

foreach i (*)
   abc "$i"
end

如果您只想获取文件而不是目录,请使用测试-f。这里我使用了 C shell 的简短if语句。

foreach i (*)
   if (-f "$i") abc "$i"
end

答案2

抬头参数。如果你的 shell 和我的类似,下面的命令应该可以正常工作:

find . -type f -maxdepth 1 | xargs abc

如果您担心文件名中的空格,请参阅下面 Daniel Andersson 的评论。

相关内容