linux sed/awk/grep/cut实用技巧

Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]

OPTION:

    -i , --in-place, 就地编辑文件,不在屏幕上输出

    

            

    

    -n ,--quiet ,, 取消打印

    

 

     -e , --expression=script,,  顺序多重编辑

    

 

 

 

 

 

Operate:

    s  ---  替换

      ‘s/A/B/’

    g --- 全局

    

 

    p -- 打印

    匹配到的再打一遍

    

 

     

    d --- 删除

    

 

              a --- 追加 查找到的文本后面一行

     

    

    i --- 追加, 查找到的文本前面一行

    

 

    c --- 修改, 查找到的文本整行替换

    

 

 

 

 

 

 

 

 

正则:

    ^ --- 行首定位符

    $ --- 行尾定位符

    . --- 匹配任意除换行外的一个字符

    * --- 匹配前一个字符零次或者无限次

    & --- 查找后替换格式

    

 

    

    \(xxx\) ---  匹配到的xxx以\1格式可以显示

    

 

    # 分隔符,无论什么字符,紧跟在s之后,就是分隔符。

    

 

    # 多行

    

 

     

 

 

 

 

 1、awk实用

1.1、取其中一列,几列值

    awk '{print $2, $6}'

1.2、取最后一列,倒数几个列,

    awk '{print $NF}'

    #倒数第三列

    awk '{print $NF-2}'

1.3、过滤出数字开头的第一列

    awk '$1~/^[0-9]+/{print $1}'

1.4、替换某列为给定值

    awk '{$2="";print}'

    awk '{$2="";print $0}'

1.5、计算某列平均值

awk '{x+=$2}END{print x/NR}'

 

2、sed实用

2.1、去掉每行开头空格,去掉所有空格

| sed 's/^\s*//'

  # 去掉所有空格

| sed 's/\s*//g'

 

3、cut实用

3.1、取每行某几个字符

  # 取每行第6个字符

  | cut -c 6

  # 取每行第6,8个字符

  | cut -c 6,8

  # 取每行第6~8个字符

  | cut -c 6-8  

 

posted @   zmm521  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示