如何全局/模糊查找命令

如何全局/模糊查找命令

我很好奇,有没有办法“通配”一个命令?我的意思是,例如,我知道有一个命令可以为我做某事,但我只记得它fix里面有一个单词,而且我确定它安装在我的机器上,并且在我的PATH

如果我记得它的第一个字符,我想我可以通过 tab 键退出,但如果我不记得了怎么办?

有什么办法可以找到这样的命令吗? $ find-command *fix*

答案1

apropos可能会有用。它会给你更多匹配项(因为它在手册中搜索),但也很短描述,这可能是件好事。从开始apropos -s 1,8 fix。参见man 1 apropos并阅读-r-w选项。


如果您的$PATH路径不包含触发通配符或单词拆分的路径,请将其提供给find并按如下方式继续:

find $(printf "$PATH" | tr ':' ' ') -maxdepth 1 -type f -executable -name '*fix*'

笔记:

  • $()故意不引用;
  • -maxdepth并且-executablePOSIX 不要求,您find可能不支持它们。

相关内容