i249 ~ # ps -efl|head -1|awk '$2~/S/{print $2}'
S
i249 ~ # ps -efl|awk '$2~/S/{print $2}'
S
S
S
S

printf

-                                      左对齐

Width                                  域的步长,用0表示0步长

.prec                                  最大字符串长度,或小数点右面的位数

%c                                     ASCII字符

%d                                     整型

%e                                     科学计数法

%f                                     浮点型

%g                                     awk决定哪种浮点数转换e或者f

%o                                     八进制

%s                                     字符串

%x                                     十六进制

例一:

i161 admin # df -Th|awk '{print $1,$5}'
Filesystem Avail
rootfs 23G
/dev/root 23G
tmpfs 16G
rc-svcdir 956K
cgroup_root 10M
udev 9.8M
shm 16G
/dev/md4 2.5T

i161 admin # df -Th|awk '{printf "%-15s %-15s\n",$1,$5}'
Filesystem          Avail          
rootfs                23G            
/dev/root           23G            
tmpfs                16G            
rc-svcdir            956K           
cgroup_root       10M            
udev                  9.8M           
shm                  16G            
/dev/md4           2.5T

awk有许多强大的字符串函数

gsub(r,s)                              在整个$0中,用s代替r

gsub(r,s,t)                           在整个t中,用s代替r

index(s,t)                             返回s中字符串t的第一位置

length(s)                               返回s长度

match(s,r)                             测试s是否包含匹配r的字符串

split(s,a,fs)                         使用分隔符fs将字符串s划分为指定序列a

sprint(fmt,exp)                       输出经过fmt格式化后的exp

substr(s,p)                            返回字符串s中从p开始的后缀部分

substr(s,p,n)                         返回字符串s中从p开始的长度为n的后缀部分

例一:

[root@localhost shell]# awk -F ":" 'gsub(/502/,213213213) {print$0}' passwd

test:x:213213213:213213213::/home/test:/bin/bash

[root@localhost shell]#

例二:

[root@localhost shell]# awk -F ":" 'gsub(/502/,213213213,$3) {print$0}' passwd

test x 213213213 502  /home/test /bin/bash

[root@localhost shell]#

例三:

[root@localhost shell]# awk 'BEGIN {print index("test","t")}' passwd

1

[root@localhost shell]#

例四:

[root@localhost shell]# awk -F ":" '{if($1=="test"){print$0,length($1)}}' passwd

test:x:502:502::/home/test:/bin/bash 4

[root@localhost shell]#

例五:

[root@localhost shell]# awk -F ":" '{if($1=="test") {print substr($1,1,3)}}' passwd

tes

[root@localhost shell]#

例六:

[root@localhost shell]# awk 'BEGIN {STR="a few good men"} END{print substr(STR,7)}' passwd

good men

[root@localhost shell]#

例七:

[root@localhost shell]# STR=test.txt

[root@localhost shell]# echo $STR

test.txt

[root@localhost shell]# echo $STR | awk '{print substr($0,1,4)}'

test

[root@localhost shell]# echo $STR | awk '{print substr($0,6)}'

txt

基本就是这么一些了。。其实我一直感觉很像C程序…

awk内置字符串函数 awk 格式化输出的更多相关文章

  1. linux awk 内置函数详细介绍(实例)

    这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...

  2. linux awk 内置函数实例

    awk内置函数,主要分4种:算数函数.字符串函数.时间函数.一般函数 一.算术函数 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x ) 返回 y/x ...

  3. linux awk 内置函数详细介绍(实例)

    这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...

  4. awk内置函数、外部变量

    外部变量 ①获取外部变量 格式: awk '{action}' 变量名=变量值 ,这样传入变量可以在action中获得值. 示例: test='awk test'--day-5 外部变量 ①获取外部变 ...

  5. awk内置变量 awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。

    ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 ...

  6. 【转】awk内置变量

    awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个字段,字段间由FS分隔 FS 输入 ...

  7. Linux基础教程 linux awk内置变量使用介绍

    awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...

  8. awk 内置变量

    awk 内置变量 FS 设置输入域分隔符,等价于命令行 -F选项 OFS 输出域分隔符 NF 浏览记录的域的个数NR 已读的记录数RS 控制记录分隔符 ORS 输出记录分隔符 substr 截取指定的 ...

  9. 『忘了再学』Shell基础 — 29、AWK内置变量

    目录 1.AWK内置变量 2.练习说明 (1)$n变量练习 (2)FS变量练习 (3)NF变量和NR变量练习 3.总结: 1.AWK内置变量 AWK内置变量如下表: awk内置变量 作用 $0 代表目 ...

随机推荐

  1. Redis——分布式简单使用

    Redis简介:Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis安装:参考博客http://www ...

  2. GDI+中发生一般性错误的解决办法(转帖)

    今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现“GDI+中发生一般性错误”的异常.于是开始“ ...

  3. python~实现tab补全

    文章摘自:http://www.jb51.net/article/58009.htm 第一.如在在vim下实现代码的补全功能. 想要为vim实现自动补全功能,则要下载插件 cd /usr/local/ ...

  4. UVA 540 stl

    Queues and Priority Queues are data structures which are known to most computer scientists. The Team ...

  5. 【探秘ES6】系列专栏(一):ES6简介

    摘要:新一代JavaScript标准,ES6即将发布.[探秘ES6]系列专栏将一一剖析ES6的诸多新特性,让Web开发者对此有清晰全面的了解.本文为系列的第一篇,带你了解ES6到底是什么以及有哪些令人 ...

  6. PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法

    逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...

  7. The Reflection And Amplification Attacks && NTP Reply Flood Attack Based On NTP

    目录 . NTP简介 . NTP协议格式 . NTP Reflect反射漏洞和NTP协议的关系 . 漏洞触发的前提和攻击需要的步骤 . 针对漏洞的攻防思考 1. NTP简介 Network Time ...

  8. HD2444The Accomodation of Students(并查集判断二分图+匹配)

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  9. UVa OJ 140 - Bandwidth (带宽)

    Time limit: 3.000 seconds限时3.000秒 Problem问题 Given a graph (V,E) where V is a set of nodes and E is a ...

  10. What to call your Academic Event