【shell脚本】常用工具的学习grep、sed、awk、cut
grep
功能:
查找过滤工具,查找或者过滤出符合某个模式的字符串,可以和正则表达式搭配使用。
所以本篇博客适合有正则表达式基础的读者阅读哦~。
用法:
grep '正则表达式' 操作的文件名
egrep '正则表达式' 操作的文件名
grep -E '正则表达式' 操作的文件名
grep -F '匹配的字符串' 操作的文件名
fgrep '匹配的字符串' 操作的文件名
其中,egrep相当于grep -E,表示采用扩展(Extend)的正则表达式语法。即对于? + {} () | 这些字符取其特殊含义。直接使用grep表示采用正则表达式基准的(Basic)正则表达式语法。
fgrep相当于grep -F,表示不搜索正则表达式模式,匹配固定字符串,匹配到了会输出整行。
eg:从file文件中找出合法的手机号码:
sed
简介:
sed是一款流式文本编辑器,它会将文本中的内容一行一行读出来,看是否与正则表达式匹配,如果匹配则执行对应的操作,否则丢弃或输出然后读取下一行。可以一次处理多个文件,默认按照基准模式(Basic)匹配
用法:
sed '/pattern/action'
其中,pattern 表示对要匹配的行的描述,即正则表达式,action表示匹配到了之后对应的操作。
1、将匹配到的内容打印出来,对应的action:p
可以看到,sed将文件所有内容都打印了出来,只不过匹配到了的打印了两次。想只打印匹配到的行加上‘-n’参数即可:
2、将匹配到的内容删除,对应的action:d
说明,sed并不会修改原文件。如果想直接修改原文件,需要加上‘-i’参数即可:
3、将匹配到的行内的某一模式的字符串替换,对应的action:s
用法与之前有一点小差异:
sed '/pattern/s/pattern1/pattern2/'
sed '/pattern/s/pattern1/pattern2/g'
表示,匹配符合pattern的行,将该行第一个匹配pattern1的字符串替换为pattern2。最后加g表示全局替换。
eg:
awk
简介:
awk是比sed更加强大的文本编辑器,不仅可以按行处理文本,也可以按列处理文本。同时还是一门脚本语言,有像C语言一样的循环和分支,有些部分和C语言十分相似。
用法:
awk '/pattern/{actions}'
pattern是正则表达式,actions是⼀系列操作。 awk程序⼀⾏⼀⾏读出待处理⽂件,如果某⼀⾏与pattern匹配,或者满⾜condition条件,则执⾏相应的actions,如果⼀条awk命令只 有actions部分,则actions作⽤于待处理⽂件的每⼀⾏。
1、awk按列打印。action:print/printf
除了print,还可以用printf,用法和C语言一模一样。print后所跟的$2表示打印第二列,$1表示第一列,$0表示所有的列。awk默认的列分隔符是连续的空格或者Tab,也可以自己制定列分隔符, 参数:-F后跟制定的符号:
2、awk脚本
脚本第一行:#!/usr/bin/awk -f 指定awk解释器。
awk会先执行BEGIN标签内的语句,然后读取指定文件内容,执行花括号内的语句,读取完毕执行END标签内的语句。
cut
简介:
cut以行为处理对象,负责数据的剪切。
用法:
cut -b //按字节切割
cut -c //按字符切割
eg:
可以看到,按字符切割时,一个字母和一个汉字都算是一个字符。除此之外,cut可以指定域分隔符,切割指定的域:
-d 选项指定域分隔符,-f选项指定切割第几个域。
【shell脚本】常用工具的学习grep、sed、awk、cut相关推荐
- linux——编写Shell脚本常用命令:diff、patch、cut、sort、uniq、、||、test、tr
diff 和 patch 命令帮助:diff –help | patch –help diff命令在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件&q ...
- linux常用文本编缉命令(strings/sed/awk/cut/uniq/sort)
一.strings strings--读出文件中的所有字符串 二.sed--文本编缉 类型 命令 命令说明 字符串替换 sed -i 's/str_reg/str_rep/' filename 将文件 ...
- linux运维自动化脚本,linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
- 【Linux】 字符串和文本处理工具 grep sed awk
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...
- shell脚本--常用知识
hello world! #! /bin/bash echo "hello world!" $ chmod +x a.sh $ ./a.sh hello world! 变量 变量不 ...
- Shell ❀ 三剑客 - Grep + Sed + Awk
文章目录 八.三剑客 - Grep + Sed + Awk 1.Grep - 过滤 1.1 常用grep参数 1.2 使用方法 2.Sed - 行匹配 2.1 执行原理 2.2 常见语法 2.3 使用 ...
- zzlinux运维自动化shell脚本小工具
from http://www.cnblogs.com/wang-li/p/5728461.html linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服 ...
- linux 脚本 if判断 o,shell脚本常用脚本:if判断
shell脚本常用脚本:if判断 str1 = str2当两个串有相同内容.长度时为真 str1 != str2当串str1和str2不等时为真 -n str1当串的长度大于0时为真(串非空) -z ...
- 一次shell脚本小事故,从中学习排错过程-软件测试
一次shell脚本小事故,从中学习排错过程 事出,童鞋使用shell脚本搭建测试环境的过称中..... 配置环境变量文件:/etc/profile(用于升级JDK或其他) 手动编辑方法:vi /etc ...
最新文章
- Silverlight实用窍门系列:35.细解Silverlight冒泡路由事件和注册冒泡路由事件【附带实例源码】...
- shell 常用正则表达式
- [转] log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析
- UA MATH524 复变函数2 指数、对数与三角函数
- 征战蓝桥 —— 2013年第四届 —— C/C++A组第8题——买不到的数目
- linux+qt+定时精度,Qt QTimer测试定时精度
- oracle 11g 数据库cmd修改用户名密码及创建用户
- sqlquerystress
- 4.4_factory_method_创建型模式:工厂方法模式
- VNPY2.0火币期货交易接口配置使用
- 在.NET项目中使用PostSharp,使用MemoryCache实现缓存的处理
- access html导出,AccessToFile
- 《Unity3D脚本编程与游戏开发》学习Day one
- ffmpeg 反复推流_FFmpeg 推流问题记录
- 数据库实验 实验一 数据库创建与管理
- 软件测评师--第九小时 web应用测试
- linux 判断硬链接文件,如何判断硬链接(hard link)文件?
- java读取src路径下的txt文件_python--文件操作(基本篇)
- 如何在WhatsApp中引用某人
- Imperva waf简介