• shell编程系列15--文本处理三剑客之awk格式化输出printf


    shell编程系列15--文本处理三剑客之awk格式化输出printf
    
    printf的格式说明符
    
    格式符        含义
    %s        打印字符串
    %d        打印十进制数
    %f        打印一个浮点数
    %x        打印十六进制数
    %o        打印八进制数
    %e        打印数学的科学计数法形式
    %c        打印单个字符的ASCII码
    
    
    printf的修饰符
    
    修饰符        含义
    -        左对齐
    +        右对齐
    #        显示8进制在前面加0,显示16进制在前面加0x
    
    awk格式化输出之printf总结:
        格式符
        %s        打印字符串
        %d        打印10进制数
        %f        打印浮点数
        %x        打印16进制数
        %o        打印8进制数
        %e        打印数字的科学计数法格式
        %c        打印单个字符的ASCII码
    
        修饰符
        -        左对齐
        +        右对齐
        #        显示8进制在前面加0,显示16进制在前面加0x
    
        格式符示例:
        1、以字符串格式打印/etc/passwd中的第7个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%s
    ",$7}' passwd
        2、以10进制格式打印/etc/passwd中的第3个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%d
    ",$3}' passwd
        3、以浮点数格式打印/etc/passwd中的第3个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%0.2f
    ",$3}' passwd
        4、以16进制数格式打印/etc/passwd中的第3个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%x
    ",$3}' passwd
        5、以8进制数格式打印/etc/passwd中的第3个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%o
    ",$3}' passwd
        6、以科学计数法格式打印/etc/passwd中的第3个字段,以":"作为分隔符
            awk 'BEGIN{FS=":"}{printf "%e
    ",$3}' passwd
    
        修饰符示例:
        1、左对齐格式 -
        2、右对齐格式 +
        3、打印8进制或16进制数字是在前面加#
    
    # printf默认没有分隔符
    [root@localhost 5.11]# awk 'BEGIN{FS=":"}{printf $1}' passwd 
    rootbindaemonadmlpsyncshutdownhaltmailoperatorgamesftpnobodysystemd-networkdbuspolkitdsshdpostfixajiechronydeploynginx
    
    # 加入换行,格式化输出
    [root@localhost 5.11]# awk 'BEGIN{FS=":"}{printf "%s
    ",$1}' passwd 
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    operator
    games
    ftp
    nobody
    systemd-network
    dbus
    polkitd
    sshd
    postfix
    ajie
    chrony
    deploy
    nginx
    
    # 使用占位符美化输出,默认是右对齐
    [root@localhost 5.11]# awk 'BEGIN{FS=":"}{printf "%20s %20s
    ",$1,$7}' /etc/passwd
                    root            /bin/bash
                     bin        /sbin/nologin
                  daemon        /sbin/nologin
                     adm        /sbin/nologin
                      lp        /sbin/nologin
                    sync            /bin/sync
                shutdown       /sbin/shutdown
                    halt           /sbin/halt
                    mail        /sbin/nologin
                operator        /sbin/nologin
                   games        /sbin/nologin
                     ftp        /sbin/nologin
                  nobody        /sbin/nologin
         systemd-network        /sbin/nologin
                    dbus        /sbin/nologin
                 polkitd        /sbin/nologin
                    sshd        /sbin/nologin
                 postfix        /sbin/nologin
                    ajie            /bin/bash
                  chrony        /sbin/nologin
                  deploy            /bin/bash
                   nginx        /sbin/nologin
    
    # - 减号是左对齐,+ 加号是右对齐
    [root@localhost 5.11]# awk 'BEGIN{FS=":"}{printf "%-20s %-20s
    ",$1,$7}' /etc/passwd
    root                 /bin/bash           
    bin                  /sbin/nologin       
    daemon               /sbin/nologin       
    adm                  /sbin/nologin       
    lp                   /sbin/nologin       
    sync                 /bin/sync           
    shutdown             /sbin/shutdown      
    halt                 /sbin/halt          
    mail                 /sbin/nologin       
    operator             /sbin/nologin       
    games                /sbin/nologin       
    ftp                  /sbin/nologin       
    nobody               /sbin/nologin       
    systemd-network      /sbin/nologin       
    dbus                 /sbin/nologin       
    polkitd              /sbin/nologin       
    sshd                 /sbin/nologin       
    postfix              /sbin/nologin       
    ajie                 /bin/bash           
    chrony               /sbin/nologin       
    deploy               /bin/bash           
    nginx                /sbin/nologin 
  • 相关阅读:
    第一章(认识jQuery)
    csv、txt读写及模式介绍
    命令行参数
    WebDriverWait等设置等待时间和超时时间
    js加载页面使用execute_script选定加载位置
    pip镜像源配置
    python字符编码
    scrapy设置代理
    urllib2设置代理
    禁止chrome自动更新
  • 原文地址:https://www.cnblogs.com/reblue520/p/10984736.html
Copyright © 2020-2023  润新知