shell - 我可以在没有 for 的情况下为 zsh 中文件通配的每个结果执行命令吗?

标签 shell foreach zsh glob

我正在寻找在不构建 for 循环的情况下为文件通配的每个结果执行当前命令。我在某处看到过这个,但不记得具体在哪里。

( echo 只是一个例子,它也应该与 psql 一起工作,例如)

例子:

$ touch aaa bbb ccc ddd
$ echo "--- " [a-c]*
---  aaa bbb ccc

期望的输出:
---  aaa
---  bbb
---  ccc

已知方式:
$ for i in [a-c]*; do echo "--- " $i ; done
---  aaa
---  bbb
---  ccc

可以使用 for 来完成。但也许有一种方法可以缩短它?也许喜欢在 glob 周围使用双花括号或其他什么?

谢谢。 :)

最佳答案

您可能正在寻找 zargs , 与 xargs 具有相同目的的命令但是一个更清晰的界面。

autoload -U zargs
zargs -n 1 -- * -- mycommand

关于shell - 我可以在没有 for 的情况下为 zsh 中文件通配的每个结果执行命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750726/

相关文章:

shell - 什么是反向shell?

shell - 提取两个字符串之间的文本。这些字符串有空格,保存在变量中

Java 增强的 For 循环

bash - Vim:读取输入错误

bash - bash 与 zsh 中的重定向和管道行为

linux - 在 Linux 中执行 Makefile 时出错

json - 从 JSON 中提取字符串,而不在值周围创建文字引号

javascript - 将对象数组的每个元素乘以标量

c# 退出使用 lambda 的泛型 ForEach

linux - 如何阅读有关内置 zsh 命令的文档?