gpt4 book ai didi

linux - 如何在 linux 中比较两个 ls 的输出

转载 作者:IT王子 更新时间:2023-10-29 01:16:39 24 4
gpt4 key购买 nike

所以这是我无法解决的任务。我有一个包含 .h 文件的目录和一个包含 .i 文件的目录,它们与 .h 文件同名。我只想通过键入命令来获得所有未找到的 .h 文件作为 .i 文件。这不是一个难题,我可以用某种编程语言来完成,但我只是好奇它在 cmd 中会是什么样子 :)。这里更具体的是算法:

  • 从 ls *.h 获取不带扩展名的文件名
  • 从 ls *.i 获取不带扩展名的文件名
  • 比较它们
  • 打印 1 中所有在 2 中不满足的名字

祝你好运!

最佳答案

diff \
<(ls dir.with.h | sed 's/\.h$//') \
<(ls dir.with.i | sed 's/\.i$//') \
| grep '$<' \
| cut -c3-

diff <(ls dir.with.h | sed 's/\.h$//') <(ls dir.with.i | sed 's/\.i$//')执行 ls在两个目录上,切断扩展名,并比较两个列表。那么grep '$<'查找仅在第一个列表中的文件,cut -c3-切断 "< " diff 的字符插入。

关于linux - 如何在 linux 中比较两个 ls 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622107/

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