与 grep 一起使用时,字符串 **/* 的含义是什么?

与 grep 一起使用时,字符串 **/* 的含义是什么?

我看到了这张图片(如下),显然这是一个双关语或某种包含命令行表达式的暗示。坦白说,除了 之外,我什么都不明白grep -n。然而,我通过谷歌搜索了字符串“**/*”,但一无所获。

      带有 **/* 示例命令的图像

答案1

要将评论完善为答案,

  • grep -n将在给定文件或标准输入中搜索给定表达式,报告找到匹配的行号。
  • \"in$Ps\"是 grep 正在寻找的表达式。由于双引号被引用,它们是 grep 将搜索的文本的一部分。这$Ps部分对我来说有点不清楚,因为 shell 会尝试解释Ps为变量名。

    如果$Ps未设置,grep则将搜索文本:"in"

    如果$Ps 设置,那么 shell 会将表达式的该部分替换为$Ps;的值例如, if Ps=42, thengrep的表达式将为:"in42"

    如果$Ps是包含空格的值,则会将其拆分为单词(因为扩展未加引号),并且会破坏命令。如果*中存在任何通配符(例如 ),生成的字符串也会经历文件名通配符$Ps

    我最好的猜测是它是对在 VBScript 中使用 PowerShell 的引用。

  • 作为斯蒂芬说**是一种扩展的通配语法,这里使用了两次,以便从当前目录以及子目录(递归地)中提取所有以当前目录结尾的文件作为.asp搜索的文件。它由 shell 使用,而不是由..jsgrepgrep

长话短说,代码将显示匹配的行的文件名和相应的行号\"in\",其中in后跟任何值$Ps

相关内容