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. python 2.7的安装

    最近准备入手学习python 这里我是按照:http://blog.csdn.net/jcjc918/article/details/11022345 来的 我在安装python 3 的时候发现上下左 ...

  2. jQuery 选择器语法

    jQuery选择器分为如下几类(点击“名称”会跳转到此方法的jQuery官方说明文档): 1. 基础选择器 Basics 名称 说明 举例 #id 根据元素Id选择 $("divId&quo ...

  3. BZOJ2456 mode

    Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n. 第2行n个正整数用空格隔开. Output 一行一个正整数 ...

  4. HTTPS-能否避免流量劫持

    流量劫持是什么? EtherDream在一篇科普文章<>中详细介绍了流量劫持途径和方式. 流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成 ...

  5. JSP表单处理

    当需要通过从浏览器获取一些信息,在许多情况下,最终给到Web服务器后台程序.浏览器使用两种方法将这些信息传递给Web服务器.这些方法是GET方法和POST方法. GET 方法: GET方法将追加到页面 ...

  6. 伪分布模式下执行wordcount实例时报错解决办法

    问题1.不能分配内存,错误提示如下: FAILEDjava.lang.RuntimeException: Error while running command to get file permiss ...

  7. 图集cancelButtonIndex,发送通知简洁写法

  8. varnish4.0简介

    Varnish 4.0 简介 Varnish 是一款开源的HTTP加速器和反向代理服务器,它的主要特点有: (1)是基于内存缓存,重启后数据将消失.(2)利用虚拟内存方式,io性能好.(3)支持设置0 ...

  9. .NET中使用Memcached的相关资源整理

    Memcached官方站点:http://www.danga.com/memcached/ Memcached Win32 1.2.6下载:http://code.jellycan.com/memca ...

  10. 找出现有Vector或ArrayList或数组中重复的元素&给现有Vector或ArrayList或数组去重

    //直接上代码: public static void main(String[] args) { List<Integer> list = new Vector<Integer&g ...