美文网首页
python,awk,shell格式化输出内容全解

python,awk,shell格式化输出内容全解

作者: 单细胞空间交响乐 | 来源:发表于2019-12-23 15:10 被阅读0次

话不多说,直接开始

python的格式化输出

(一)用 {} 花括号 格式化的关键字是 .format(要格式化的内容)

eg:

name = "test"
age = 18
print("我的名字是{},我今年{}岁。".format(name,age))   # 两个{} 替换的name,age相当于占位符
print("我的名字是{a},我今年{b}岁。".format(b=name,a=age))  #{a}、{b}关键字参数,占位符作用,替换name,age变量 

(二)%格式化操作 %s 替换的是所有类型 %d替换的整型 int

name = "test"
age = 18
print("我的名字是%s,我今年%d岁。"%(name,age))   
print("我的名字是%s,我今年%s岁。"%(name,age)) 

awk的printf函数

eg1:

echo "Linux" | awk '{printf "|%-15s|\n",$1}'
|Linux |

说明:对于echo命令的输出,Linux是经管道发给awk。printf函数包含一个控制串。百分号让printf做好准备,它要打印一个占15个格、向左对齐的字符串,这个字符串夹在两个竖杠之间,并且以换行符结尾。百分号后的短划线表示左对齐。控制串后面跟了一个逗号和$1。printf将根据控制串中的格式说明来格式化字符串Linux。

eg2:

echo "Linux" | awk '{printf "|%15s|\n",$1}'
| Linux|

说明:字符串Linux被打印成一个占15 格、向右对齐的字符串,夹在两个竖杠之间,以
换行符结尾。

eg3:

cat employees
Tom Jones 4424 5/12/66 543354
Mary Adams 5346 11/4/63 28765
Sally Chang 1654 7/22/54 650000
Billy Black 1683 9/23/44 336500

awk '{printf "The name is: %-15s ID is %8d\n",1,3}' employees
The name is Tom ID is 4424
The name is Mary ID is 5346
The name is Sally ID is 1654
The name is Billy ID is 1683

说明:要打印的字符串放置在两个双引号之间。第一个格式说明符是%-15s,它对应的参数是$1,紧挨着控制串的右半边引号后面的那个逗号。百分号引出格式说明:短划线表示左对齐,15s表示占15格的字符串。这条命令用来打印一个左对齐、占15格的字符串,后面跟着字符串的ID和一个整数。

shell的格式化输出

shell的echo函数

echo -e识别转义和特殊意义的符号,如换行符、n、制表符\t、转义符\等。
[root@xuexi tmp]# echo 'Hello World!\n';echo "Hello World"!
Hello World!\n
Hello World!
[root@xuexi tmp]# echo -e 'Hello World!\n';echo "Hello World"!
Hello World!

        #换行

Hello World!

shell的printf的格式化输出

printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876

运行
姓名 性别 体重kg
郭靖 男 66.12
杨过 男 48.65
郭芙 女 47.99
%s %c %d %f都是格式替代符

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中.2指保留2位小数。
eg:
printf "%d %s\n" 1 "abc"
printf %s abcdef
printf %s abc def
printf "%s %s %s\n" a b c d e f g h i j
等等等等
希望大家了解一下

相关文章

  • python,awk,shell格式化输出内容全解

    话不多说,直接开始 python的格式化输出 (一)用 {} 花括号 格式化的关键字是 .format(要格式化...

  • awk

    awk:报告生成器,格式化文本输出 内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 a...

  • Java 字符串

    String & StringBuilder 格式化输出 正则sed & awk

  • 20170904 awk

    awk介绍awk变量printf命令:实现格式化输出操作符awk patternawk actionawk数组aw...

  • 18-文本处理三剑客之awk

    本章内容 ◆ awk介绍◆ awk基本用法◆ awk变量◆ awk格式化◆ awk操作符◆ awk条件判断◆ aw...

  • awk

    1.awk介绍  awk:Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有...

  • AWK

    awk介绍 awk :Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本...

  • 2017 09-04 AWK

    本章主要学习内容awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 a...

  • shell对输出流的处理

    shell对输出流的处理awk介绍awk基本用法awk高级用法awk小技巧在日常计算机管理中,总会有很多数据输出到...

  • str.format简介

    一、python的格式化输出从2.6以后format格式化方法代替了%格式化,%的格式化当然也可以使用,不过建议全...

网友评论

      本文标题:python,awk,shell格式化输出内容全解

      本文链接:https://www.haomeiwen.com/subject/asbznctx.html