gpt4 book ai didi

linux - ls 在目录中获取文件列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:53 25 4
gpt4 key购买 nike

我有一个 C 代码库,所有代码都位于同一个目录中。我想找到所有具有同名代码文件的头文件。

现在,我有以下命令:

ls *.h | sed s/.h/.c/

这将返回我要搜索的文件名“列表”。如何将此列表传递给另一个命令,以便我可以查看哪些头文件具有共享相同名称的代码文件?

最佳答案

没有任何外部命令:

$ for i in *.h
> do
> [ -f ${i/.h/.c} ] && echo $i
> done

第一行遍历每个文件。

第三行是测试结构。 test(又名 man [)的 -f 标志检查文件是否存在。如果是,则返回 0(在 shell 中被认为是 true)。 && 仅在前一行成功返回的情况下执行以下命令时才会运行。

${i/.h/.c} 是就地 in-shell 正则表达式替换,因此测试的文件是对应于 .h 的 .c。

关于linux - ls 在目录中获取文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13062789/

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