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

shell编程初步(01)_recv

shell脚本:文本文件

#!:/bin/bash

#!:/usr/bin/python

#!:/usr/bin/perl

  案列1:

Vim first.sh

#!:/bin/bash

Cat /etc/fstab

Wc –l /etc/fstab

给脚本权限              Chmod a+x first.sh

运行脚本                   ./first.sh

------------------------------------------------------------------

逻辑运算:

True

False

与:

1 && 1 =1

1 && 0=0

0 && 1 =0

0 && 0 =0

  或:

   1 || 1= 1

     1 || 0= 1

     0 || 1= 1

    0 || 0 =0

  非:

    !1 = 0

    !0 = 1

grep及正则表达式(02)_recv

Linux上文本处理三剑客:

    Grep:文本过滤工具

    Sed:文本编辑工具

    Awk:

Grep:Global search Regular expression and print out the line

作用:文本搜索工具,根据用户指定的模式对目标文本逐行进行陪陪检查;

Grep:

-v:反转查找,既输出与查找条件不相符的行

Grep root /etc/passwd

-E:扩展正则表达式;

-G:基本正则表达式;

-F:固定字符串

-i:忽略字符大小写;

-o:仅显示匹配到的字串;

Grep –o root /etc/passwd

-q:静默模式,不输入任何信息

Grep –q root /etc/passwd

-c:统计一共有多少行;

-n:在左侧显示行号;

-A number:后#行

-B number:前#行

-C number:前后#行

Grep –c ‘nologin’ passwork

Allisa grep=‘grep –color=auto’

Grep root /etc/passwd

基本正则表达式元字符:

字符匹配:

.:匹配任何单个字符

Grep  ‘r.ot’ /etc/passwd

[]:匹配指定范围内的任意单个字符

Grep [root] /etc/passwd

       [^]:匹配指定范围外的任意单个字符
           Grep [^root] /etc/passwd
       [0-9]: 统计指定范围内的数字
           Grep [0-9] /etc/passwd00 
             [:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
          Grep [0-9] /etc/passwd

匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数;

*:匹配前面的字符任意次;

例如:grep “x*y”

.*:任意长度的任意字符;

位置锚定:

^:行首锚定,用于模式的最左侧

$:行尾锚定,

^$:空行;

第5天(半天)【shell编程初步、grep及正则表达式】的更多相关文章

  1. Linux-awk和shell编程初步

    1 awk 格式: awk -选项 '处理' 输入 awk -F : '{print $1}' file -F指定分隔符, 默认是空格 $1 分割后的第一部分 $0 获得所有部分 NF 表示以分隔符分 ...

  2. Linux Shell编程第3章——正则表达式

    目录 正则表达式基础 正则表达式的扩展 通配 grep命令 正则表达式基础 Linux Shell以字符串作为表达式向系统传达意思.元字符(Metacharacters)是用来阐述字符表达式意义的字符 ...

  3. Linux:Day5 shell编程初步、grep

    bash的基本特性(3) 1.提供了编程环境 程序编程风格: 过程式:以指令为中心,数据服务于指令: 对象式:以数据为中心,指令服务于数据: shell程序:提供了编程能力,解释执行:过程式.解释执行 ...

  4. Shell编程初步

      一:Hello World 新建一个文件,命名时以 .sh 为后缀.每个bash文件开头第一行表名文件类型: #!/bin/bash 然后在下面输入代码. 比如输出hello world: #!/ ...

  5. linux之shell编程初步

    #################适用于CentOS6################## #!/bin/bash ########################################## ...

  6. shell编程学习笔记之正则表达式初识

    1.对单字符的查找: 1.1单字符: ‘X’ $ grep ‘q’ passwd //查找单个字符 1.2 范围字符 [] [^] 1.3 任意字符 . $ grep '[1-9]' passwd / ...

  7. 01 shell编程规范与变量

    前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...

  8. Shell编程-01-Shell脚本初步入门

    目录 什么是Shell 什么是Shell脚本 Shell脚本语言的种类 常用操作系统默认Shell Shell 脚本的建立和执行 脚本规范 什么是Shell     简单来说Shell其实就是一个命令 ...

  9. shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)

    一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合. ...

随机推荐

  1. Python---http协议.md

    一.什么是URL? URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档.URL由协议.主机和端口(默认为80)以及文件名三部分构成,如: h ...

  2. Redis入门到高可用(十三)—— 发布订阅

    一.模型 二.主要API 1.publish(发布命令) 2.subcribe(订阅) 3.取消订阅(unsubcribe) 4.其他API 三.消息队列功能 redis实现消息队列功能 应用场景:抢 ...

  3. SparkML之推荐引擎(一)---电影推荐

    本文将使用 SparkML 来构建推荐引擎. 推荐引擎算法大致分为 基于内容的过滤.协同过滤.矩阵分解,本文将使用基于属于矩阵分解的 最小二乘法 算法来构建推荐引擎. 对于推荐引擎模块这里将分为两篇文 ...

  4. Java读取resource文件/路径的几种方式

    方式一: String fileName = this.getClass().getClassLoader().getResource("文件名").getPath();//获取文 ...

  5. 台式电脑、笔记本快捷选择启动项Boot 快捷键大全

    我们在安装系统时,会去设置电脑是从硬盘启动.U盘启动.光驱启动.网卡启动. 一般设置的方法有两种:一种是进BIOS主板菜单设置启动项顺序:另一种就是我在这里要介绍的快捷选择启动项. 以下是网友整理的各 ...

  6. Divide the Sequence (贪心)

    题意:求将一串数据尽可能多分成所有前缀和大于0的连续子串. 思路:由于是要求所有前缀和大于0,那么只要从后往前推就好了. #include<bits/stdc++.h> using nam ...

  7. undefined的几种情况

    1.变量声明了,但是没有赋值: 2.一个变量声明了,并且赋值了undefined: var a = undefined; 3.一个对象中,获取某个不存在的属性,值也是undefined

  8. 给zabbix添加percona监控模板

    简单说明一下给zabbix添加的percona的监控模板. 在percona官方网站有说明怎么安装,这里记录下步骤.首先搭建好的zabbix环境. 监控插件连接 : 链接:https://pan.ba ...

  9. Docker Overlay 介绍

    Overlay Network Overlay Network:属于Docker网络驱动,基于VXLAN封装实现Docker原生Overlay网络. Overlay Network:覆盖网络,在基础网 ...

  10. iOS开发 -------- storyBoard实现控制器添加childViewController

    1 拖进去scrollView 添加约束(0,0,0,0);     2 更新scrollView约束,然后在scrollView上面加个view,设置其约束为(0,0,0,0) 和 水平滑动约束; ...