带有正则表达式的Unix egrep命令

时间:2014-06-04 12:50:07

标签: grep sh

你好,有人可以告诉我这个表达是什么意思

 ls -lrt *.txt|egrep -v " (*.?) (*.?) (*.?) 0 (*.?) (*.?) (*.?) "

非常感谢任何见解。

2 个答案:

答案 0 :(得分:3)

首先,请注意,如果某人正在使用ls的输出,那几乎肯定是完成任务的错误方法。 ls用于人类消费,find可能是更好的工具。

在我看来,此人正在尝试查找大小大于零的任何文件。如果是这样,那么应该采取的方式是:

find . -type f -size +0

答案 1 :(得分:0)

ls -lrt

列出文件(ls),详细视图(-l),按修改时间(-r)向后排序(-t

ls -lrt *.txt

列出按时间排序的所有文本文件,输出如下所示

$ ls -ltr 
drwxr-xr-x   2 root root 4.0K Mar  5  2012 selinux
drwxr-xr-x   2 root root 4.0K Apr 25  2012 srv
drwx------   2 root root  16K Feb  7  2013 lost+found
drwxr-xr-x   2 root root 4.0K Feb  7  2013 cdrom

现在你正在为除了-v)第4列中为零的所有行以及我不完全理解。

无论如何,(*.?)只意味着任何字符序列(零或更多)