grep命令与或逻辑
问题描述:
我有一个目录,其中我有大量的文件名称,如work1,work2,work3,work4 ... workn(其中n是任何数字)。我想只列出其中有work
为前缀的文件后,只有1,2,3,4或5grep命令与或逻辑
例如:应该名单下跌work1
work2
work3
work4
work5
。所以我的逻辑是ls -al | grep work
,但它也会列出work6
,work7
等。如何继续?
答
There is no need to parse the output of ls
。只是打电话ls
时使用范围表达式:
ls -al work[1-5]
这将匹配名称的模式匹配work[1-5]
的任何文件。也就是说,任何名称为work1
,...,work5
的文件。
答
尝试正则表达式:
ls | grep -E 'work[1-5]'
+0
是的,这也工作:) +1 –
+1
除了文件名包含换行符。当代码比在所有*情况下工作的代码更复杂时,不要使用在*大多数情况下工作的代码。 – chepner
任何理由downvote? – fedorqui
奇怪的dowonvote,我必须中和它 – anubhava
_“没有必要解析ls的输出。”_ John1024