正则表达式与通配符

  • 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式
  • 通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持政策表达式,所以只能使用shell自己的通配符来进行匹配了

通配符

  • 匹配任意内容

    ? 匹配任意一个内容

    [] 匹配中扣号中的一个字符

正则表达式

字符截取命令

1 cut字段提取命令
cut [选项]文件名
选项:
-f 列号: 提取第几列
-d 分隔符: 按照指定分隔符分割列 cut -f 2 student.txt cut -f 2,4 student.txt cut -d ":" -f 1,3 /etc/passwd
2 printf命令
printf '输出类型输出格式' 输出内容

输出类型:

 %ns : 输出字符串。n是数字只带输出几个字符
%ni : 输出整数。n是数字指代输出几个数字
%m.nf: 输出浮点数。m和n是数字,指代输出的整数位和小数位 如 %8.2f代表共输出8位数,其中2位是小数,6位是整数
3 awk命令
awk `条件1{动作1} 条件2{动作2}...` 文件名

条件 (pattern):
一般使用关系表达式作为条件
x>10判断变量 x是否大于10
x>=10大于等于
x<=10小于等于
动作(action)
格式化输出
流程控制语句 awk `{print $2 "\t" $4 "\n"}` student.txt df -h | awk `{print $1 "\t" $3}`
4 sed命令

sed的是流编程器的缩写。它是文本处理中不可获取的工具。ser主要是用来将数据进行选取、替换、删除、新增的命令。

sed [选项]`[动作]` 文件名
选项:
-n 一般sed命令会把所有数据都输出到屏幕,如果加入此选择则只会把经过sed命令处理的行输出到屏幕
-e 允许对输入数据应用多条sed命令编辑
-i 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出 动作:
a : 追加,当前行后添加一行或多行
c :行替换,用c后面的字符串替换原数据行
i :插入,在当期行前插入一行或多行。d:删除,删除指定的行
p :打印,输出指定的行
s : 字符串替换,用一个字符串替换另外一个字符串。格式为"行范围s/旧字符串/新字符串/g" sed '2p' student.txt 查看文件的第二行 sed -n '2p' student.txt 字符串替换 sed 's/旧字串/新字串/g' 文件名 sed '3s/60/99/g' student.txt
在第三行中,把60替换成90
sed -i '3s/60/99/g' student.txt
在第三行中,把60替换成90并直接写入文件 sed -e 's/fengj//g;s/cang/g' student.txt 同时把'fengj' 和 'cang' 替换为空

sort命令与wc命令

####### 1 排序命令sort

sort[选项] 文件名

-f 忽略大小写

-n 以数值型进行排序,默认使用字符串型排序

-r 反向排序

-t 执行分隔符,默认是分隔符是制表符

-k n[,m] 按照指定的字段范围排序,从第n字段开始,m字段结束(默认到行尾)

shell编程值之正则表达式与字符截取(6)的更多相关文章

  1. 第10章 Shell编程(2)_字符截取命令

    2. 字符截取命令 2.1 cut字段提取命令(grep提取行,cut提取列) (1)cut命令:#cut [选项] 文件名 选项: -f 列号:提取第几列: -d 分隔符:按照指定分隔符分割列,默认 ...

  2. shell编程基础(五): 正则表达式及其使用

    正则表达式 1.前情提要 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxx ...

  3. 大数据Shell编程 之 常用正则表达式

    使用man grep查看grep的帮助文档,有如下内容: 可以看出,正则表达式由三类,分别是 基本的正则表达式(Basic Regular Expression 又叫 Basic RegEx 简称 B ...

  4. 第10章 Shell编程(3)_字符处理命令和条件判断

    3. 字符处理命令 3.1 排序命令:sort (1)sort命令:#sort [选项] 文件名 选项 作用 -f 忽略大小写 -n 以数值型进行排序,默认使用字符串型排序 -r 反向排序 -t 指定 ...

  5. shell编程值之shell流程控制(7)

    条件判断式 1 按照文件类型判断(常用类型) 测试类型 作用 -d 文件 判断该文件是否存在,并且是否为目录文件(是目录文件为真) -e 文件 判断该文件是否存在(存在为真) -f 文件 判断该文件是 ...

  6. Linux学习——shell编程之正则表达式和字符处理命令

    shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...

  7. Linux基础学习(11)--Shell编程

    第十一章——Shell编程 一.基础正则表达式 1.正则表达式与通配符(*,?,[ ]): 2.基础正则表达式: 二.字符截取命令 1.cut字段提取命令: 空格分割时,不知道空格有多少个,无法分割行 ...

  8. 第10章 Shell编程(1)_正则表达式

    1. 基础的正则表达式 1.1 正则表达式与通配符 (1)正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式. (2)通配符用来匹配符合条件的 ...

  9. 第5天(半天)【shell编程初步、grep及正则表达式】

    第5天(半天)[shell编程初步.grep及正则表达式] shell编程初步(01)_recv shell脚本:文本文件 #!:/bin/bash #!:/usr/bin/python #!:/us ...

随机推荐

  1. 利用PHPExcel导出Excel并设置Excel格式以及数据源

    浏览:23969 发布日期:2013/07/24 分类:技术分享 代码有点长,读起来有点累.先来个截图 导出的Excel太宽了,所以将后面的列宽重新调整了再截的图 功能包括: 1.设置单元格格式,包括 ...

  2. 虚拟主机,VPS,云主机之间的区别?

    虚拟主机即共享主机,是利用虚拟技术把一台完整的服务器分成若干个主机,拥有多个网站,共享这台服务器的硬件和带宽的资源.可以托管简单的静态和动态的网站,满足客户最基本的网络托管需求. VPS是将一台物理服 ...

  3. WPF与Win32互操作

    一.WPF如何使用HWND 当您创建WPF Window时,WPF会创建顶级HWND,并使用HwndSource将Window及其WPF内容放入HWND中.应用程序中其余的WPF内容共享此单个HWND ...

  4. 【编程技巧】 iOS 5的StoryBoard(故事板)的一些用法

    从StroyBoard得到一个View UIViewController *viewController = [[UIStoryboard storyboardWithName:@"Main ...

  5. 【编程技巧】addSubview和insertSubview的区别

    addSubview 是将view加到所有层的最顶层 相当于将insertSubview的atIndex参数设置成view.subviews count 即 [view addSubview:onev ...

  6. pip install在Windows下报错解决

    报错: Traceback (most recent call last): File, in<module> load_entry_point('pip==1.4.1','console ...

  7. Powerdesigner+Execel

    1.将Powerdesigner中的表(PDM)导入到execel中 Ctrl+Shift+X/tool->Execute commands ->Edit/Run script 粘贴如下v ...

  8. SSH key introduction

    Preface At the first time, we take the connection with GitLab remote server. You need to type userna ...

  9. Python实现一个简单的微信跳一跳辅助

    1.  前言 微信的跳一跳相信大家都很熟悉了,而且现在各种外挂.辅助也是满天飞,反正本人的好友排行榜中已经是八九百都不足为奇了.某宝上一搜一堆结果,最低的居然只要3块多,想刷多少分就刷多少分,真是离谱 ...

  10. 2017-07-06(grep man apropos )

    grep 格式 grep [选项]  字符串  文件名 选项 -i 忽略大小写 -v 排除指定字符串 作用 在文件中查找字符串 例子 grep  "size"  anaconda- ...