gpt4 book ai didi

linux - 如何打印开头以制表符分隔的 find 命令的输出

转载 作者:太空狗 更新时间:2023-10-29 11:07:51 25 4
gpt4 key购买 nike

我已尝试使用以下命令打印带有制表符分隔的查找命令的输出。

echo -e "\t";找到/usr/live/class/$client_abbr -name "$line.cls"-exec grep '^#include' {}\;

如果输出包含 n 行,则仅第一行以制表符分隔打印,而不会应用于其余行。请告诉我如何修改上述命令以在所有行的前面添加制表符。

最佳答案

您可能会发现通过管道传输到 xargs 比使用 -exec 更有效。额外的引号 -type f-print0 分别是为了安全起见,用于指定您需要一个文件(而不是目录)以及启用带有嵌入空格的文件名.通过将 grep 输出通过管道传输到 sed(归因于 Fischer 的 评论),您将获得所需的内容。

find "/usr/live/class/$client_abbr" -type f -name "$line.cls" -print0 |
xargs -0 grep '^#include' |
sed 's/^/\t/'

关于linux - 如何打印开头以制表符分隔的 find 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551080/

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