• Linux-awk和printf


    printf

    printf ‘输出类型输出格式’ 输内容
    输出类型:
    %ns 输出字符串,n是数字指代输出几个字符
    %ni 输出整数,n是数字,指代输出几个数字
    %m.nf 输出浮点数,m和n是数字,指代输出总位数和小数位数,如%8.2f 代表共输出8位数,其中2位是小数,6为是整数
    输出格式:
    \a : 输出警告声音
    \b:输出退格键
    \f:清除屏幕
    \n:换行
    \r:回车
    \t:水平输出退格键
    \v:垂直输出退格键

    printf '%s' 1 2 3 4 5 6
    123456
    printf '%s %s %s' 1 2 3 4 5 6
    1 2 34 5 6
    #三个字符为一组,中间换行
    printf '%s %s %s\n' 1 2 3 4 5 6
    1 2 3
    4 5 6
    #4表示占多少位
    printf '%4s' 1 2 3 4 5 6
       1   2   3   4   5   6
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    printf后面不能直接跟文件名字

    printf '%s' student.txt 
    student.txt
    
    • 1
    • 2

    如果想要输出student.txt文件的内容,需要这样

    printf '%s' $(cat student.txt)
    IDnamesexscore1llM902yyF883uuM88
    
    • 1
    • 2
    awk

    awk ‘条件1{动作1}条件2{动作2}…’ 文件名
    条件:
    一般使用关系表达式作为条件
    x>10 判断变量x是否大于10
    x>=10 大于等于
    x<=10 大于等于
    动作:
    格式化输出
    流程控制语句
    awk可以直接提取制表符和空格分割的列,使用$n来表示第几列

    提取文件的第2列和第4列

    在这里插入图片描述

    [root@centos01 shellcode]# awk '{printf $2 "\t" $4 "\n"}' student.txt 
    name	score
    ll	90
    yy	88
    uu	88
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    练习2;将磁盘已用的数字提取出来

    在这里插入图片描述

    [root@centos01 shellcode]# df -h | grep -v "已用" | awk '{printf $5 "\n"}'|cut -d "%" -f 1
    34
    0
    0
    2
    0
    1
    15
    1
    100
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    awk提取非制表符和空格

    使用FS

    [root@centos01 shellcode]# cat /etc/passwd | awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'
    root	0
    bin	1
    daemon	2
    adm	3
    lp	4
    sync	5
    shutdown	6
    halt	7
    mail	8
    operator	11
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    微信小程序保存照片到本地
    Springboot集成HBase使用案例
    Leetcode.1465 切割后面积最大的蛋糕
    QT c++ QWaitCondition 线程等待条件
    储能直流侧计量表DJSF1352
    Navicat快速将mysql表转为postgresql表(数据+表结构)保姆级教程
    数据库设计流程---以案例熟悉
    数据艺术:精通数据可视化的关键步骤
    监督学习和无监督学习
    Nacos源码安装
  • 原文地址:https://blog.csdn.net/ljsykf/article/details/127991841