zoukankan      html  css  js  c++  java
  • Linux常用基本命令:三剑客命令之-awk格式化动作

    我们之前说过,awk是一个超强的文本格式化工具,而本文的printf动作就是经常用来做格式化文本的。使用方式跟c语言的printf差不多.

    1,printf默认不会回车换行

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{print "abc"}'
    abc
    ghostwu@dev:~/linux/awk$ awk 'BEGIN{printf "abc"}'
    abcghostwu@dev:~/linux/awk$ 

    2,我们需要像c语言一样,用转义字符 ,输出换行

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{printf "%s
    ", "ghostwu"}'
    ghostwu

     小结:

    1)使用printf动作 输出的文本不会换行,如果需要换行,可以在对应的"格式替换符"后加入" "进行转义

    2)使用printf动作时,"指定的格式" 与 "被格式化的文本" 之间,需要用"逗号"隔开

    3)使用printf动作时,"格式"中的"格式替换符"必须与 "被格式化的文本" 一一对应

    3,一一对应的 “被格式化的文本” 与 "格式替换符

    ghostwu@dev:~/linux/awk$ awk '{printf "第一列: %s  第二列: %s 第三列: %s
    ", $1, $2, $3}' ghostwu.txt 
    第一列: ghostwu  第二列: 20 第三列: man
    第一列: zhangsan  第二列: 22 第三列: woman
    第一列: lisi  第二列: 23 第三列: woman

    4,用 -v FS指定输入分隔符,然后用printf格式化分隔后的文本

    ghostwu@dev:~/linux/awk$ cat ghostwu.txt 
    ghostwu-20-man
    zhangsan-22-woman
    lisi-23-woman
    
    ghostwu@dev:~/linux/awk$ awk -v FS=- '{printf "%s	 %s	 %s
    ", $1, $2, $3}' ghostwu.txt 
    ghostwu     20     man
    zhangsan     22     woman
    lisi     23     woman

    5,常用的字符串格式化, 10s -10s.   10s:字符串宽度为10,不足10位,左边补空格,就形成了右对齐方式, -10s就是左对齐方式

    ghostwu@dev:~/linux/awk$ awk -v FS="-" 'BEGIN{printf "%10s	 %10s	 %10s
    ", "姓名", "年龄", "性别"}  {printf "%10s	 %10s	 %10s
    ", $1, $2, $3 }' ghostwu.txt
            姓名             年龄             性别
       ghostwu             20            man
      zhangsan             22          woman
          lisi             23          woman
    ghostwu@dev:~/linux/awk$ awk -v FS="-" 'BEGIN{printf "%-10s	 %-10s	 %-10s
    ", "姓名", "年龄", "性别"}  {printf "%-10s	 %-10s	 %-10s
    ", $1, $2, $3 }' ghostwu.txt
    姓名             年龄             性别        
    ghostwu        20             man       
    zhangsan       22             woman     
    lisi           23             woman   
  • 相关阅读:
    padStart()方法,padEnd()方法
    模板字符串
    Flask ==》 信号 and flash-session
    单例模式
    Git == > 版本控制
    Flask ==> 文件配置
    setitem和getitem和delitem
    Flask ==> 简单用户登录
    Flask
    Django ==> Model基础
  • 原文地址:https://www.cnblogs.com/ghostwu/p/9091060.html
Copyright © 2011-2022 走看看