zoukankan      html  css  js  c++  java
  • 文本处理例子

    替换关键字字符串:

    sed -i s/abc/abcd/g test.txt    #把文件中的abc换成abcd 
    sed -i ':a;N;$!ba;s#
    #,#g' test.txt    #把文件中的回车符替换成逗号
    cat test.txt |awk -v RS='' '{gsub("
    "," "); print }'    #把文件中的回车符替换成空格
    sed -e 's/,/
    /g' /tmp/monitor_disk.txt    #把逗号替换成换行

    删除符合条件的行:

    sed -i /test/d /file.txt   #删除文件中有关键字“test”的行
    sed -i /^$/d test.txt    #删除一个文件中所有空行
    sed -i /^#/d test.txt    #删除一个文件所有以"#"开头的行
    sed -i /^abc/d test.txt    #把文件中以abc开头的行删除
    sed -i /abc$/d test.txt    #把文件中以abc结尾的行删除
    sed -i '1,17d' /tmp/monitor_disk.txt    #删除1到17行

    在关键字前后插入字符串:

    str="abc"
    echo $str |sed 's/abc/& xxx/'
    abc xxx
    echo $str |sed 's/abc/xxx &/'
    xxx abc

    在关键字前后插入行:

    echo "abc" |sed '/abc/i\xxx'
    xxx
    abc
    echo "abc" |sed '/abc/a\xxx'
    abc
    xxx

    截取连个关键字之间的字符串:

    str="<version>1.1.2</version>"
    echo $str |grep -oP '(?<=<version>).+?(?=</version>)'
    1.1.2
    echo $str |sed -r 's/.*<version>(.*)</version>.*/1/'
    1.1.2

    打印关键字前后的字符串:

    str="test=test1"
    echo "$str" | cut -d '=' -f 1
    test
    echo "$str" | cut -d '=' -f 2
    test1
  • 相关阅读:
    博客园开通新随笔
    遍历两个数组,并输出数组中的不同内容
    1021-二叉树复制和左右子树互换
    1020-层次遍历二叉树
    1019-计算二叉树的高度和结点数
    1018-深度遍历二叉树
    1017-乘积最大
    1016-求幂
    1015-最大公约数和最小公倍数
    1014-数据的插入与删除
  • 原文地址:https://www.cnblogs.com/37yan/p/11041181.html
Copyright © 2011-2022 走看看