探索字符截取命令之---awk命令

这里给大家提个建议,在学习awk命令之前先掌握printf命令的用法。

printf ‘输出类型输出格式‘ 输出内容

输出类型:

%ns 输出字符串

%ni 输出整数

%m.nf 输出小数

输出格式:

-n 换行

-t tab键

简单的说,awk的出现就是为了弥补cut命令的不足,对于用空格制作的表格中,cut命令不再有用。

例如:查看磁盘使用率,用cut命令截取字符串就不起作用的

这时候,awk命令正好就弥补了cut命令在这方面的缺陷。

例如:截取根目录的使用率

df -h | grep "/dev/sda2" | awk ‘{printf $5}‘ | cut -d "%" -f 1

看明白了吗?

有人可能会说没有,那么没关系,我们下面好好的来讲一讲到底awk该怎么用

awk ‘条件1{动作1}条件2{动作2}...‘ 文件名

① 一般关系表达式做条件(BEGIN 和 END)

② > < >= <=等连接的条件

下面搞一个BEING和END的来练练手

END用法:

还有一个很重要的就是FS内置变量:

例如:利用awk命令截取/etc/passwd中user1的第一列和第五列的字符串

cat /etc/passwd | grep "/bin/bash" | grep -v "root" | grep "user1"  \

| awk ‘BEGIN{FS=":"}{printf $1 "\t" $3 "\n"}‘

时间: 2024-10-12 04:45:55

探索字符截取命令之---awk命令的相关文章

Linux Shell编程 awk命令

概述 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具.它在命令行中使用,但更多是作为脚本来使用.awk有很多内建的功能,比如数组.函数等,这是它和C语言的相同之处,灵活性是awk最大的优势. 命令的基本格式如下: [[email protected] ~]# awk '条件1 {执行语句 1} 条件 2 {执行语

Shell脚本三剑客——Grep(进阶版egrep)、Sed、Awk命令

Grep命令 1.基本正则表达式实例--查找特定字符 这里我们就以存放本机所有用户的/etc/passwd文件做实例 Demo1 [[email protected] ~]# grep -n "root" /etc/passwd //-n表示显示行号 1:root:x:0:0:root:/root:/bin/bash 10:operator:x:11:0:operator:/root:/sbin/nologin 2.基本正则表达式实例--查找集合字符 有重复的字符时,可使用"

Shell 字符截取命令 awk

awk命令# awk '条件1{动作1} 条件2{动作2}….' 文件名一般使用关系表达式作为条件动作:1.格式化输出 2.流程控制语句 处理cut命令无法截取空格的列 例子:截取出磁盘使用率 df -h | grep "sda1" | awk 'BEGIN{print "this is sda1 hard use persent:"} {print $5}' | cut -f 1 -d "%" BEGIN关键字 a.在所有动作处理之前执行,可在

第10章 Shell编程(2)_字符截取命令

2. 字符截取命令 2.1 cut字段提取命令(grep提取行,cut提取列) (1)cut命令:#cut [选项] 文件名 选项: -f 列号:提取第几列: -d 分隔符:按照指定分隔符分割列,默认是制表符分隔. (2)应用举例 //测试文件(student.txt) ID Name gender PHP Linux MySQL Average 1 ZS M 82 95 86 87.66 2 LS F 74 96 87 85.66 3 WW M 99 83 93 91.66 ①#cut –f

探索字符串截取命令之---cut命令

cut,cut,cut干嘛?很明显,切的意思.OK,今天我们就开始探索在shell中最常用到的几种字符串截取命令,无非就是以下几种:cut awk sed 言归正传,我们从cut开始.-->cut命令主要针对于标准文件操作,如果是用空格隔开的表格就不能用cut命令,就要用awk命令了. cut [选项] 选项有几下两种: -d:提取分隔符 -f:提取列编号 下面就讲一个工作中最常用到的情景: 从/etc/passwd中截取出user1用户的信息: grep "/bin/bash"

Shell编程之字符截取命令

AWK命令 awk '条件1(动作1)条件2(动作2)...' 文件名 条件(pattern)一般使用关系表达式作为条件x>10判断x是否大于10x>=10大于等于x<=10小于等于 动作(Action)-格式化输出-流程控制语句 awk使用示例:awk '{printf $1 "\t" $2 "\n"}' awk 'BEGIN{printf "test"}{printf $1}' //在输出语句前输出指定字符串 awk 'EN

Linux Shell编程 - 字符截取命令

01.字段提取命令 cut  =>   cut [选项] 文件名 -f 列号: 提取第几列 -d 分隔符:按照指定分割符分割列 例如:cut  -f  2,4(列号:,逗号可以多行提取)  student.txt cut  -d “:” -f 1,3 /etc/passwd 02.格式化输出命令 printf 命令  => printf  ‘输出类型输出格式’  输出内容 输出类型: %ns:输出字符串.n 是数字指代输出几个字符 %ni:输出整数.n 是数字指代输出几个数字 %m.nf:输出

Shell编程 之 字符截取命令

1. 字段(列)提取命令:cut  [选项]  文件名 选项:  - f  列号(提取第几列)   - d  分隔符(按照指定分隔符分割列) [[email protected] sh]# cat student.txt ID Name Gender Mark 1 alex male 11 2 boby male 22 3 cyan male 33 4 dauge male 44 [[email protected] sh]# cut -f 2 student.txt # -f 设置列号 Nam

sed及awk命令的使用

sed命令 sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. 命令格式 sed [options] 'comman