zoukankan      html  css  js  c++  java
  • awk 基础入门

    awk  基础入门:

    一,awk,不仅仅是linux系统中的一个命令。而且是一种编程语言。可以用来处理数据和生成报告(excel表)。

    二,处理的数据可以是一个或者多个文件,可以是来自标准输入。也可以通过管道符输入,awk可以在命令行上直接编辑命令进行操作。也可以编写成awk程序来进行更为复杂的运用。

    三,#awk –version   查看awk版本。

    四,最基础用法;   01

    1,如图yunjisuan.txt文件中,awk的用法。

     

    (1):# awk '' yunjisuan.txt    单引号里是条件  后边是用户名

    (2):#awk '{print $1}' yunjisuan.txt  显示第一列

    (3):#awk '{print $2}' yunjisuan.txt  显示第二列

    2,如图

     

    (1):# awk -F ":" '{print $1}' yunjisuan.txt 以":" 为分隔符查看分隔后的第一列。

    (2):# awk -F ":" '{print $2}' yunjisuan.txt以":" 为分隔符查看分隔后的第二列。

    3,如图

     

    (1):# awk -F ":" 'NR==3' yunjisuan.txt 以":"  找出文件内容第三行

    (2):# awk -F ":" 'NR >3 && NR <8' yunjisuan.txt 以":"  找出文件大于第三行到小于第八行内容。

    4,如图

     

    (1):# awk -F ":" 'NR >3 && NR <8 {print $1}' yunjisuan.txt 以":"  找出文件大于第三行到小于第八行内容中,以分隔符“:”分隔的第一列内容。

    -F “:”以冒号为分隔符分隔

    'NR >3 && NR <8' 为模式

    {print $1} 大括号中的为动作。 

    *先模式后动作。先分行后分列。

    5,如图

     

    (1)# ifconfig eth0 | awk 'NR==2' | awk -F " " '{print $1}'  以空格为分隔符 找出第二行第一列。

    (2)# ifconfig eth0 | awk 'NR==2' | awk -F " " '{print $2}'  以空格为分隔符 找出第二行第二列。

    (3)# ifconfig eth0 | awk 'NR==2' | awk -F "[:/]+ " '{print $2}'  以正则[:/]号里任意字符为分隔符 找出第二行第二列内容。

    6,如图

     

    (1)# ifconfig eth0 | awk 'NR==1' | awk -F "[:/]+ " '{print NR,$1}' 

    以正则[:/]号里任意字符为分隔符 找出第一行第一列内容并且带行号。

    五,最基础用法;   02

         1,多个模式和动作

              如图

    (1)#awk –F: ‘NR==1 {print NR,$1} NR==2 {print NR,snf}’ yunjisuan.txt找到第一行第一列和第二行和他的最后一列并带行号 $NF最后一行。

    2, (1) awd –F 参数 'BEGIN{} 模式 {动作} END{}

                      开始模块  BEGIN   告诉awd如何读数据

                      结束模块  END   告诉awd程序要如何结束

            (2)NR这个符号其实真正的含义不是行号,而是数据被awk读取一段时间后NR就会记录一次。由于awk默认以\n作为每次读数据的结束标志,因此NR就恰好等于行号。  我们可以BEGIN模块,在awk读取数据之前设定他的读取换行符是谁。

                   默认awk读入换行符和输出换行符都是\n.

             (3) 如图

     

    (1)‘BEGIN{}’默认以\n为换行符。

    (2) ‘BEGIN{RS= “:”}’ RS修改默认的读入换行符,换成:冒号

    (4)如图

     

    ‘BEGIN{RS= “:”;ORS=”|”}’把:冒号的位置都换成“|”管道符。

       NR,是显示行号。

    3,sort , uniq

      如图

     

    (1) :sort 排序   加三个参数    sort  按26个字母顺序排序

                                              sort –n  按照数字顺序排序

                                              sort –rn 是逆转排序,让数字到这数

                                              sort –k2 是按第二列排序

    (2):uniq  -c 是指,去重复的同时还计数。

    (3):xargs  加  –n1  是指每行一个元素

                                                                                    

                                                                                      2018年10月28号 晚

  • 相关阅读:
    【火炉炼AI】机器学习028-五分钟教你打造机器学习流水线
    【火炉炼AI】机器学习027-项目案例:用聚类算法建立客户细分模型
    【火炉炼AI】机器学习026-股票数据聚类分析-近邻传播算法
    【火炉炼AI】机器学习024-无监督学习模型的性能评估--轮廓系数
    【火炉炼AI】机器学习025-自动估算集群数量-DBSCAN算法
    【火炉炼AI】机器学习023-使用层次聚类算法构建模型
    【火炉炼AI】机器学习022-使用均值漂移聚类算法构建模型
    【火炉炼AI】机器学习021-使用K-means进行图片的矢量量化操作
    A Secret hdu 6153
    Fleet of the Eternal Throne HDU6138
  • 原文地址:https://www.cnblogs.com/changtianwei/p/9868411.html
Copyright © 2011-2022 走看看