当前位置 博文首页 > Linux bash删除文件中含“指定内容”的行功能示例

    Linux bash删除文件中含“指定内容”的行功能示例

    作者:JoeBlackzqq 时间:2021-06-13 18:26

    本文实例讲述了Linux bash删除文件中含“指定内容”的行功能。分享给大家供大家参考,具体如下:

    #!/bin/sh
    # 功能:    删除文件中含"指定内容"的行
    # 运行方式: ./dline.sh c.log  ==> 产生输出文件: c.log0
    array=(
      "rm -f lvr_3531_pf_new"
      "arm-hisiv100-linux-gcc "
      "In function "
      "excess elements in array initializer"
      "warning: multi-line comment"
      "embedded '\\0' in format"
      "__NR_SYSCALL_BASE"
      "this is the location of the previous definition"
      "dereferencing type-punned pointer will break strict-aliasing rules"
      "differ in signedness"
      "but argument is of type"
      "implicit declaration of"
    )
    if [ $# -lt 1 ]; then
      echo "Usage: $0 <logfile>"
      exit
    fi
    file="$1"0
    cp -f $1 $file
    function deleteLine()
    {
      sed "/$1/d" $file > tmp
      mv -f tmp $file
    }
    wc -l $file
    for line in "${array[@]}"
    do
      if [ ${#line} -gt 0 ] && [ ${line:0:1} != "#" ]; then
        deleteLine "$line"
      fi
    done
    wc -l $file
    
    

    运行情况:

    [feng@bash #69]$./dline.sh c.log
    556 c.log0
    63 c.log0
    [feng@bash #70]$
    
    

    希望本文所述对大家bash shell学习有所帮助。

    js
    下一篇:没有了