gpt4 book ai didi

iteration - 如何遍历zsh中命令输出的所有行?

转载 作者:行者123 更新时间:2023-12-04 17:03:48 25 4
gpt4 key购买 nike

如何在不设置IFS的情况下使用zsh遍历命令输出的所有行?

原因是我想针对命令输出的每个文件运行命令,并且其中一些文件包含空格。

例如,给定已删除的文件:

foo/bar baz/gamma

也就是说,包含子目录“bar baz”和文件“gamma”的单个目录“foo”。

然后运行:
git ls-files --deleted | xargs ls

将报告该文件作为两个文件处理:“foo/bar”和“/baz/gamma”。

我需要它来将其作为一个文件来处理:'foo/bar baz/gamma'。

最佳答案

使用tr-0xargs选项,假设这些行不包含\000(NUL),这是一个合理的假设,因为NUL是文件名中不能出现的字符之一:

git ls-files --deleted | tr '\n' '\000' | xargs -0 ls

这将变成这样: foo/bar baz/gamma\n变成 foo/bar baz/gamma\000知道如何处理的 xargs -0

关于iteration - 如何遍历zsh中命令输出的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com