linux 基础命令测试题,grep命令基础练习题

常用的grep选项是:

-c 只输出匹配行的计数。

-i 不区分大小写(只适用于单字符)。

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-n 显示匹配行及行号。

-s 不显示不存在或无匹配文本的错误信息。

-v 显示不包含匹配文本的所有行。文件格式:

第1列:城市位置编号。

第2列:月份。

第3列:存储代码及出库年份。

第4列:产品代号。

第5列:产品统一标价。

第6列:标识号。

第7列:合格数量。

file.txt文件内容:

48      Dec     3BC1977 LPSX   68.00   LVX2A   138

483     Sept    5AP1996 USP    65.00   LVX2C   189

47      Oct     3ZL1998 LPSX   43.00   KVM9D   512

219     dec     2CC1999 CAD    23.00   PLV2C   68

484     nov     7PL1996 CAD    49.00   PLV2C   234

483     may     5PA1998 USP    37.00   KVM9D   644

216     sept    3ZL1998 USP    86.00   KVM9E   234

练习:

1   含有“48”字符串的行的总数

[root@www.linuxidc.com]# grep -c 48 file.txt

4

2   显示含有“48”字符串的所有行的行号

[root@www.linuxidc.com]# grep -n 48 file.txt

1:48      Dec     3BC1977 LPSX    68.00   LVX2A   138

2:483     Sept    5AP1996 USP     65.00   LVX2C   189

5:484     nov     7PL1996 CAD     49.00   PLV2C   234

6:483     may     5PA1998 USP     37.00   KVM9D   644

3   精确匹配只含有“48”字符串的行

[root@www.linuxidc.com]# grep "48\>" file.txt

48      Dec     3BC1977 LPSX    68.00   LVX2A   138

PS:使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加\ >

4  抽取代码为4 8 4和4 8 3的城市位置

[root@www.linuxidc.com]# grep -E "48[3|4]\>" file.txt

483     Sept    5AP1996 USP     65.00   LVX2C   189

484     nov     7PL1996 CAD     49.00   PLV2C   234

483     may     5PA1998 USP     37.00   KVM9D   644

PS:使用[ ]来指定字符串范围

5   显示使行首不是4或8

[root@www.linuxidc.com]#grep -v "^[4|8]" file.txt

[root@www.linuxidc.com]# grep -v "^[48]" file.txt

[root@www.linuxidc.com]#grep -v "^[4,8]" file.txt

[root@www.linuxidc.com]# grep "^[^48]" file.txt       #这个是直接最简单的方法

219     dec     2CC1999 CAD     23.00   PLV2C   68

216     sept    3ZL1998 USP     86.00   KVM9E   234PS:可以在方括号中使用^记号,表示行首不是某字符

6   显示含有九月份的行

[root@www.linuxidc.com]# grep -i Sept file.txt

[root@www.linuxidc.com]# grep -E "[Ss]ept" file.txt

483     Sept    5AP1996 USP     65.00   LVX2C   189

216     sept    3ZL1998 USP     86.00   KVM9E   234

PS :使用- i开关可以屏蔽月份S e p t的大小写敏感

7   显示以K开头,以D结尾的所有代码

[root@www.linuxidc.com]# grep "K...D" file.txt

47      Oct     3ZL1998 LPSX    43.00   KVM9D   512

483     may     5PA1998 USP     37.00   KVM9D   644

PS:点.代表任意一个字符,由于代码是五位字符的字符串,所以中间用三个点表示任意字符

8     显示头两个是大写字母,中间两个任意,并以C结尾的代码

[root@www.linuxidc.com]# grep "[A-Z][A-Z]..C" file.txt

483     Sept    5AP1996 USP     65.00   LVX2C   189

219     dec     2CC1999 CAD     23.00   PLV2C   68

484     nov     7PL1996 CAD     49.00   PLV2C   234

PS:[A-Z]表示任意一个大写字母

9      查询所有以5开始以1 9 9 6或1 9 9 8结尾的所有记录

[root@www.linuxidc.com]#grep "5..199[68]" file.txt

483     Sept    5AP1996 USP     65.00   LVX2C   189

483     may     5PA1998 USP     37.00   KVM9D   644

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值