grep *做什么?

时间:2015-12-06 13:36:28

标签: bash grep

我正在阅读this tutorial

并且有这一行:

tab2 <- read.table(text='V1           V2
Nathaniel    Penny
John         Sam
Penny       John
Vicky      Sid
Sam        John',header=TRUE)

这太神秘了,作者没有细分语法。

2 个答案:

答案 0 :(得分:5)

您应该将命令分成几部分来理解:

  • grep
    全局REgular打印:查找包含字符串(可能的正则表达式)的所有输入(来自流或输入文件)的行结束显示它。
  • da
    要查找的字符串(如Adam每日跳舞:三次点击)
  • *
    在grep启动之前,shell已经将Wildcard替换为当前目录中的所有文件。当前目录为空时,shell将为grep提供字符,grep尝试查找名为*的文件。
  • 2> grep-errors.txt
    grep不会看到这个,这是shell的一个指令,必须将输出流2重定向到名为grep-errors.txt的文件。
    第2流?是的,1表示正常,2表示错误消息。

答案 1 :(得分:4)

请注意,它不是* 2,而是* 2>,这是非常不同的。

2>是重定向运算符,可重定向标准错误流,仅>重定向标准输出。