我想知道这两个命令有什么区别:
ls l 文件; grep *pl 文件
ls l 文件; grep ".*pl"文件
最佳答案
首先 - “;”是 shell 上的命令分隔符。所以上面会依次执行两个不同的命令。
因此存在三个不同的命令:
$ ls l file
此命令将尝试列出两个文件,即“l”和“file”。如果文件名存在,它将显示文件名;如果不存在,它将显示错误。
$ grep *pl file
这比较棘手。它将尝试首先将 * 替换为当前目录的内容。无论它以哪种方式扩展,它都会将 pl 附加到它并尝试在文件中 grep 整个 shell 扩展模式。输出完全取决于当前目录的内容。
$ grep ".*pl" file
这将对文件中的模式“.*pl”进行贪婪匹配。这意味着它将匹配文件中具有模式的所有行:后跟“pl”
你自己尝试一下,你就会明白发生了什么。
关于Linux ls grep 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44451008/