Linux下正则表达式

通配符与正则表达式的区别

通配符:
    *:任意多个字符
    ?:任意一个字符
    []:匹配括号中的一个字符
1、匹配文件名称(linux系统)
2、通配符是完全匹配。
3、搜索文件名的命令ls、find、cp等命令不支持正则表达式,
所以只能使用shell的通配符来匹配


正则表达式(包含通配符):
1、匹配文件中的数据(linux系统)
2、正则是包含匹配。
3、搜索字符串的命令grep、awk、sed等命令支持正则表达式。


一、正则表达式:
*    前一个字符匹配0次或任意次
.     匹配除了换行符外任意一个字符
^    匹配行首
$    匹配行尾   ^$:空白行
[]    匹配括号中的任意一个字符
[^]    匹配括号外的任意一个字符
\    转义符,让特殊功能的字符变成一般字符
\{n\}    前一个字符出现n次(最好加定界符)
\{n,\}    前一个字符出现不少于n次
\{n,m\}    前一个字符至少出现n次,最多m次




二、字符截取命令
1、cut字段提取命令
    cut     -f n,m         输出第m,n列
        -d ":"        分隔符默认为制表符
       df     -h        输出磁盘信息
2、printf命令
    printf '输出类型输出格式' 输出内容
    输出类型
        %ns
        %ni
        %m.nf
    输出格式
        \a
        \t
        ...
3、awk命令(复杂,功能强大)
    awk '条件{动作}条件{动作}' 文件名
    example:awk '{printf $1 "\t" $4}' student.txt

    BEGIN/END 条件
    FS    内置变量,分隔符
    example:awk 'BEGIN{FS=":"}{printf $2 $4}' student.txt
         awk '$4>=70{prinf $2}' student.txt

4、sed命令:用于修改文件内容(近似vim)
    sed [选项] '[动作]' 文件名
    选项
        -n 输出处理的行
        -e 允许应用多条sed命令,分号“;”分隔sed '[动作];[动作]'
        -i 用sed的修改结果直接修改文件,而不是由屏幕输出
    动作
        a 追加
        c 行替换
        i 插入
        d 删除
        p 打印
        s 字串替换
    example:sed -n '2p' student.txt 打印第二行
         sed  '2,4d' student.txt 删除2至4行
    sed 's/旧字符串/新字符串/g'


三、字符处理命令
sort命令,排序
    sort [选项] 文件名
        -f 忽略大小写
        -n 以数值型进行排序
        -r 反向排序
        -t 指定分隔符
        -k n[,m] 按照指定字段范围排序
    example:sort -n -t ":" -k 3,3 /etc/passwd

wc命令 ,统计命令
    wc [选项] 文件名
        -l 只统计行数
        -w 只统计单词数
        -m 只统计字符数
    example: wc /etc/passwd







视频教程:http://www.imooc.com/learn/378
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值