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相关推荐

  1. linux——编写Shell脚本常用命令:diff、patch、cut、sort、uniq、、||、test、tr

    diff 和 patch 命令帮助:diff –help | patch –help diff命令在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件&q ...

  2. linux常用文本编缉命令(strings/sed/awk/cut/uniq/sort)

    一.strings strings--读出文件中的所有字符串 二.sed--文本编缉 类型 命令 命令说明 字符串替换 sed -i 's/str_reg/str_rep/' filename 将文件 ...

  3. linux运维自动化脚本,linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  4. 【Linux】 字符串和文本处理工具 grep sed awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  5. shell脚本--常用知识

    hello world! #! /bin/bash echo "hello world!" $ chmod +x a.sh $ ./a.sh hello world! 变量 变量不 ...

  6. Shell ❀ 三剑客 - Grep + Sed + Awk

    文章目录 八.三剑客 - Grep + Sed + Awk 1.Grep - 过滤 1.1 常用grep参数 1.2 使用方法 2.Sed - 行匹配 2.1 执行原理 2.2 常见语法 2.3 使用 ...

  7. zzlinux运维自动化shell脚本小工具

    from http://www.cnblogs.com/wang-li/p/5728461.html linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服 ...

  8. linux 脚本 if判断 o,shell脚本常用脚本:if判断

    shell脚本常用脚本:if判断 str1 = str2当两个串有相同内容.长度时为真 str1 != str2当串str1和str2不等时为真 -n str1当串的长度大于0时为真(串非空) -z ...

  9. 一次shell脚本小事故,从中学习排错过程-软件测试

    一次shell脚本小事故,从中学习排错过程 事出,童鞋使用shell脚本搭建测试环境的过称中..... 配置环境变量文件:/etc/profile(用于升级JDK或其他) 手动编辑方法:vi /etc ...

最新文章

  1. Silverlight实用窍门系列:35.细解Silverlight冒泡路由事件和注册冒泡路由事件【附带实例源码】...
  2. shell 常用正则表达式
  3. [转] log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析
  4. UA MATH524 复变函数2 指数、对数与三角函数
  5. 征战蓝桥 —— 2013年第四届 —— C/C++A组第8题——买不到的数目
  6. linux+qt+定时精度,Qt QTimer测试定时精度
  7. oracle 11g 数据库cmd修改用户名密码及创建用户
  8. sqlquerystress
  9. 4.4_factory_method_创建型模式:工厂方法模式
  10. VNPY2.0火币期货交易接口配置使用
  11. 在.NET项目中使用PostSharp,使用MemoryCache实现缓存的处理
  12. access html导出,AccessToFile
  13. 《Unity3D脚本编程与游戏开发》学习Day one
  14. ffmpeg 反复推流_FFmpeg 推流问题记录
  15. 数据库实验 实验一 数据库创建与管理
  16. 软件测评师--第九小时 web应用测试
  17. linux 判断硬链接文件,如何判断硬链接(hard link)文件?
  18. java读取src路径下的txt文件_python--文件操作(基本篇)
  19. 如何在WhatsApp中引用某人
  20. Imperva waf简介

热门文章

  1. 您知道bin目录是干什么的吗
  2. cisco三层交换机vlan间通信
  3. 1、EVPN(Ethernet VPN)技术
  4. 冰冰学习笔记:类与对象(下)
  5. 基于颜色的交通标志检测方法分析
  6. 杰理之浪涌测试注意事项【篇】
  7. 无法启动此程序 因为计算机中丢失xlive,xlive.dll没有被指定在windows运行
  8. java replace和replaceAll的区别以及用法
  9. npm---下载资源包速度慢,切换淘宝源(粉丝福利)
  10. 计算机硬件发展的特点有哪些,简述计算机的发展历程及各代计算机的特点。