如何使用GREP列出文件中没有数字的所有行?

时间:2017-04-12 01:47:02

标签: linux grep

我有一个名为sdata.txt的文件,其中包含以下信息:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Oct16 ?        00:01:15 /sbin/init
root                                            root
root        10     2  0 Oct16 ?        00:00:02 [migration/0]
root20
t90hch1    478   442  0 13:24 ?        00:00:00 sshd: t90hch1@pts/3
support

T90hch1    488   478  0 13:24 pts/3    00:00:00 -bash
root20     498     1  0 Oct16 ?        00:00:00 /sbin/mdadm --monitor --scan
root       730  1498  0 13:27 ?        00:00:00 sshd: z1746903 [priv]
z1J46903   763    48  0 13:27 ?        00:00:00 rooot: z1746903@pts/18
z4746903   764   763  0 13:27 pts/18   00:00:00 -bash
root      1492     1  0 Oct16 ?        00:00:32 /usr/sbin/testooooo
daemon    1493   408  1  0 Oct16 ?        00:00:00 /usr/sbin/atd -f
zY6A7846  1716 24089  0 13:35 pts/41   00:00:00 nano +183 Assign5.cpp
z1746903  1751   764  0 13:35 pts/18   00:00:00 nano
z1234567  1799   888                            bAsh
r78959j1   499                                  BUSH

我必须使用grep才能列出此文件中没有数字的行。我还有另一个问题,我必须列出所有具有2位数字或3位数字的行,以4开头,以8结尾。如果是3位数字,则中间数字必须为6或更大。我真的遇到了麻烦。

2 个答案:

答案 0 :(得分:1)

grep -v '[0-9]' sdata.txt

......只是一个正则表达式: - )

答案 1 :(得分:1)

  

我必须使用grep才能列出此文件中没有数字的行

尝试grep -v -e '[0-9]' t.txt

  

我还有另一个问题,我必须列出所有具有2位数字或3位数字的行,以4开头,以8结尾。如果是3位数,则中间数字必须为6或更多

尝试grep -e '\b4[6789]\?8\b' t.txt

顺便说一下,您可以列出您遇到的问题,以便其他人可以帮助您解决问题并更多地了解正则表达式。