Linux ls grep 命令

标签 linux unix grep

我想知道这两个命令有什么区别:

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/

相关文章:

linux - 如何禁用 Linux 熵池源

linux - 在 shell 脚本中拆分并重命名拆分的文件

linux - Unix:如何检查数字3从1到1232出现了多少次

image - 如何制作 Bash 脚本来查找项目中未使用的图像?

linux - 无效命令 ‘Order’ ,可能拼写错误或由未包含在服务器配置中的模块定义失败

linux - 用两条新线替换一条线

linux - 循环运行 shell 脚本时出错

awk - 匹配特定列的 grep 文件

regex - 列出具有特定模式文件名的 linux 目录和子目录中的所有文件

linux - 如何在 bash shell 脚本中计算文件中每一行的中位数