Linux程序设计--shell程序设计基础(二)

一 常用命令

1、find指令

基本用法,一个简单的例子,从根文件开始搜索名字为test的文件

find / -name test -print

使用此命令搜索时会耗费时间较长,特别是在挂在了其它的文件系统,如Windows上的文件系统(SAMBA服务器),因为会相应的搜索Windows上的文件。此时可以使用-mount选项,告诉find指令不要搜索其它的文件系统

find / -mount -name test -print

find指令还有一些比较、判断的选项,使用时查手册即可。

2、grep指令

在文件中搜索字符串,常用选项

选项含义
-c输出匹配行的数目,而不是输出匹配的行
-i忽略大小写
-l只列出包含匹配行的文件名
-v即搜索不匹配行
-E启用扩展模式

二 正则表达式

正则表达式中的常用特殊字符

字符含义
^指向一行的开头
$指向一行的结尾
.任意单个字符
[]包含一个字符范围,其中任何一个字符都可以被匹配
?匹配是可选的,但最多匹配一次
*必须匹配0次或多次
+必须匹配一次或多次
{n,m}匹配次数在n到m之间,包含n和m

如果想将上述特殊字符作为普通字符使用,就需要加上\进行转义。
在方括号中还可以使用一些特殊匹配模式,如

匹配模式含义
[:alnum:]字母与数字字符
[:alpha:]字母
[:ascii:]ASCII字符
[:blank:]空格或制表符
[:cncrl:]ASCII控制字符
[:digit:]数字
[:graph:]非控制、非空格字符
[:lower:]小写字母
[:print:]可打印字符
[:punct:]标点符号字符
[:space:]空白字符,包含垂直制表符
[:upper:]大写字母
[:xdigit:]十六进制数字

举例说明

查找文件readme.txt中以字母e结尾的行
grep e$ readme.txt

查找文件readme.txt中以字母a结尾的单词
grep a[[:blank:]] readme.txt

查找文件readme.txt中以字母TH开头的3个字母的单词
grep TH.[[:space:]] readme.txt

在shell脚本中,将一个命令输出到一个变量中

#!/bin/sh

whoisthere = $(who)
echo whoisthere

算数扩展
把你准备求值的算数表达式放在$((…))放在两个圆括号
x=$(($x+1))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值