zoukankan      html  css  js  c++  java
  • 正则表达式 grep与sed的文本处理

    一:整理正则表达式

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。它由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。

    主要常用的有:

    元字符 功能 元字符 功能
    ^ 匹配字符串的开始位置 $ 匹配字符串的结束位置
    . 匹配任意单个字符 * 匹配子表达式0次或n次
    + 匹配子表达式一次或n次 {n} 匹配n次
    {n,} 至少匹配n次 {n,m} 匹配n-m次
    匹配子表达式一次或0次 () 将括号里面的表达式定义为组
    [xyz] 匹配xyz任意一个字符 [a-Z] 匹配指定字符范围的任意一个
    [^a-Z] 匹配不在范围的任意字符 |

    二:grep使用(正则表达式及字符处理)

    目标文件/etc/passwd,使用grep命令或egrep

    1.显示出所有含有root的行:

    Image(58)

    2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:

    Image(59)

    3.  显示出有多少行含有nologin。

    Image(60)

    4.显示出那些行含有root,并将行号一块输出。

    Image(61)

    5.显示出文件中

    6.新建用户

        abominable

        abominate

        anomie

        atomize

     编写正则表达式,将他们匹配出来

    Image(62)

    7.建四个用户

       Alex213sb

       Wpq2222b

       yH438PIG

       egon666

       egon

     过滤出用户名组成是字母+数字+字母的行

    Image(63)

    8.显示出/etc目录下所有包含root的文件名

    Image(64)

    9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

    Image(65)

    三:Sed使用:以/etc/passwd文件为模板

    1,删除文件每行的第一个字符。

    Image(66)

    2,删除文件每行的第二个字符。

    Image(67)

    3,删除文件每行的最后一个字符。

    Image(68)

    4,删除文件每行的倒数第二个字符。

    Image(69)

    5,删除文件每行的第二个单词。

    Image(70)

    6,删除文件每行的倒数第二个单词。

    Image(71)

    7,删除文件每行的最后一个单词。

    Image(72)

    8,交换每行的第一个字符和第二个字符。

    Image(73)

    9,交换每行的第一个字符和第二个单词。

    Image(74)

    10,交换每行的第一个单词和最后一个单词。

    Image(75)

    11,删除一个文件中所有的数字。

    Image(76)

    12,删除每行开头的所有空格。

    Image(77)

    13,用制表符替换文件中出现的所有空格。

    Image(78)

    14,把所有大写字母用括号()括起来。

    Image(79)

    15,打印每行3次。

    Image(80)

    16,只显示每行的第一个单词。

    Image(81)

    17,打印每行的第一个单词和第三个单词。

    Image(82)

    18,用命令获取格式为    mm/yy/dd    的日期格式,结合管道,将其换成   mm;yy;dd格式

    Image(83)

  • 相关阅读:
    按需取余
    P3372 【模板】线段树 1
    POJ 3180 The Cow Prom ( korasaju 算法模板)
    【题解】Qin Shi Huang's National Road System HDU 4081 ⭐⭐⭐⭐ 【次小生成树】
    iOS 端容器之 WKWebView 那些事
    无影,会是接近未来的工作场景吗?
    Serverless Devs 2.0 全新发布,让 Serverless 应用开发更简单
    李飞飞:新技术变革时代的数据库产业
    如何攻破容器持久化存储挑战?
    Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
  • 原文地址:https://www.cnblogs.com/zhangge123/p/6602464.html
Copyright © 2011-2022 走看看