我想执行一个命令,我们将其命名为 abc,并将当前文件夹中的每个文件名添加为参数。如何在 C Shell(或其他脚本语言)中执行此操作?
答案1
使用csh
或tcsh
,这将遍历当前目录中的所有文件和目录。我在$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 的评论。