【问题标题】:LINUX ls grep commandLINUX ls grep 命令
【发布时间】:2017-06-09 06:42:35
【问题描述】:

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

ls l 文件; grep *pl 文件

ls l 文件; grep ".*pl" 文件

【问题讨论】:

标签: linux unix grep


【解决方案1】:

首先 - “;”是 shell 上的命令分隔符。所以上面会依次执行两个不同的命令。

这样就有了三个不同的命令:

$ ls l file

此命令将尝试列出两个文件,即“l”和“file”。如果文件名存在,它将显示文件名,否则将显示错误。

$ grep *pl file

这更棘手。它将首先尝试将 * 替换为当前目录的内容。无论它以何种方式扩展,它都会将 pl 附加到它并尝试在文件中 grep 整个 shell 扩展模式。输出完全取决于您当前目录的内容。

$ grep ".*pl" file

这将对文件中的“.*pl”模式进行贪婪匹配。这意味着它将匹配文件中具有模式的所有行:后跟“pl”

你自己试试这个,你就会明白发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 2015-08-11
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多