zoukankan      html  css  js  c++  java
  • sed相关

    1 global flag

    sed 's/xxx/xxx/' inputfile,如果没有带global flag g的话,匹配替换的只是inputfile中的每一行的第一个匹配项。如果带了g的话,才会全部都替换。

    s命令替换的是行里面匹配了前面的模式的部分,也就是说,s是部分替换。

    例子:MBA_students.txt
    102,Jason Smith,IT Manager
    103,Raj Reddy,Sysadmin
    104,Anand Ram,Developer
    105,Jane Miller,Sales Manager

    sed 's/a/A/' MBA_students.txt

    输出:
    102,JAson Smith,IT Manager
    103,RAj Reddy,Sysadmin
    104,AnAnd Ram,Developer
    105,JAne Miller,Sales Manager

    sed 's/a/A/' MBA_students.txt

    输出:

    102,JAson Smith,IT MAnAger
    103,RAj Reddy,SysAdmin
    104,AnAnd RAm,Developer
    105,JAne Miller,SAles MAnAger

    2 使用-i选项编辑之后替换原文件

    sed -i -e SCRIPT inputfile,这里一定要用-e,否则会出现unterminated substitute pattern。

    3 使用(..)进行子串匹配

    3.1 用于 获取

    匹配到的子串可以用1,2,3来获取。

    3.2 使得里面的模式为一个整体

    (abcd)*,匹配0个或者多个abcd。

    也就是说,()里面的是一个模式就可以了,然后多个的话,从前到后用1、2可以获取,其它的没有影响。

    4 多个模式连接

    多个模式连着写就是多个模式一起匹配,一起处理。如果不是一起匹配的话,用|,表示要么前者匹配,要么后者匹配,然后分别处理。

    例子 (error processing )(package |archive ),匹配“error processing package ”或者匹配“error processing archive ”。

    5 正则表达式匹配的长度是有限的

    正则表达式匹配输入行,匹配结果的长度是有限的,即子串的长度是有限的。它会用replacement来替换这个匹配上的子串。

  • 相关阅读:
    iOS 适配iPhoneX上tableHeaderView发生了高度拉伸、UI出现的空白间距
    无线加密WEP、WPA、WPA2及TKIP、AES
    字符替换操作
    jQuery版本升级问题汇总
    ipv6服务器及环境搭建
    git删除某次提交操作
    五种IO模型
    jQuery1.6以上attr改用prop
    线程创建pthread_create用法(转)
    网络字节序与主机字节序
  • 原文地址:https://www.cnblogs.com/hustdc/p/6340588.html
Copyright © 2011-2022 走看看