在UNIX命令ls -L |中不了解CIRCUMFLEX的使用grep -v ^ zip

时间:2012-07-19 10:12:46

标签: regex unix grep

ls -L | grep -v ^zip

我从这个命令中理解的是,它正在进行列表并将输出通道化为grep命令,该命令在接收的输出文件列表上执行grep以选择文件名不包含文本“zip”的任何文件以及任何带有文件的文件文件名包含文本“zip”。

如果这是正确的,那么它似乎无用或反效果。我错了吗?

2 个答案:

答案 0 :(得分:3)

  

选择文件名不包含文本“zip”的任何文件以及文件名包含文本“zip”的任何文件

我不知道你是如何得出这个结论的。 ^zip匹配以zip开头的行,-v否定该模式。

答案 1 :(得分:2)

-v表示“不匹配”,^是一行的开头:

$ cat in.txt                
foo
zip
bar
--zip
baz
 zip
qux
$ $ grep -v '^zip' < in.txt   
foo
bar
--zip
baz
 zip
qux