金融公司网站方案,服装商城网站源码,黄页企业查询app,石排做网站awk 按行取列 awk默认的分割符#xff1a;空格#xff0c;tab键#xff0c;多个空格自动压缩成一个 awk的工作原理#xff0c;根据指令信息#xff0c;逐行读取文本内容#xff0c;然后按照条件进行1格式化输出 awk的选项#xff1a; -F 指定分割符#xff0c;默认就是…awk 按行取列 awk默认的分割符空格tab键多个空格自动压缩成一个 awk的工作原理根据指令信息逐行读取文本内容然后按照条件进行1格式化输出 awk的选项 -F 指定分割符默认就是空格 -v 变量赋值 内置变量 $#:#是数字按行需要取出的第几个字段 0 打印所有展示所有的文本内容默认 N R 需要处理的行号 N F 处理行的字段个数 0打印所有展示所有的文本内容默认 NR需要处理的行号 NF处理行的字段个数 0打印所有展示所有的文本内容默认NR需要处理的行号NF处理行的字段个数NF处理行的最后一个字段 FSFS和F是一样的都是指定分隔符FS“:” OFS:指定输出内容的分隔符 RS:行分隔符可以根据RS的设置把文件内容切割成多个记录也可以改变行的分隔符默认是\n,回车换行。 命令格式 awk -F ‘操作符{动作}’ 处理对象 -F指定分隔符如果是空格可以不加 动作默认就是打印
#打印文件内容默认是所有文件
awk {print} 文件
#只打印行号
awk {print NR} 文件
#打印行号和内容
awk {print NR,$0} 文件
#打印指定行
awk NR行数{print} 文件
#;打印3和5行
awk NR3,NR5{print} 文件
#打印奇偶行
awk NR%20{print} 文件
awk NR%21{print} 文件
#指定分割符
awk -F: {print $3} /etc/passwd
#awk 使用文本过滤
awk /root/{print} /etc/passwd
#BEGIN 打印模式
awk BEGIN{...};{...};END{...} 文件
#BEGIN{...} 表示预先条件指定awk命令前的初始化操作
#{...}处理条件如何对初始值进行操作
#END{...}处理完之后的操作一般都是打印
#区幂运算 2的3次方
awk BEGIN{print 2**3} awk BEGIN{print 2^3}#-v进行赋值
vim test.sh
read -p 请输入一个数: num1
read -p 请输入你需要进行的幂运算: num2
num$(awk -v num1$num1 -v num2$num2 BEGIN{print num1^num2} )
echo $numawk -v FS: -v OFS {print $1,$3} /etc/passwd
echo $PATH | awk -v RS: {print $1}awk -F: $3999{print $0} /etc/passwd
awk -F: $31000{print $0} /etc/passwdawk的三元表达式
awk -F: {num($3$4)?$3:$4;{print num,$0}} /etc/passwd
? if
: else
; fi
if($3$4)
echo $3
else
echo $4
fiawk的精确筛查
$n( )用于比较数值
$n~字符串:该字段包含某个字符串
$n~字符串:该字段不包含某个字符串
$n字符串:该字段等于这个字符串
$n字符串:该字段不等于这个字符串
$NF 代表最后一个字段
#打印第七列包含bash这个字段的行取的是行的第一列和最后一列以为分隔符
awk -F: $7~bash {print $1,$NF} /etc/passwd
awk -F: $7!~bash {print $1,$NF} /etc/passwd #取反
awk -F: $7bash {print $1,$NF} /etc/passwd #精确匹配逻辑关系
#第一列dn且第七列/bin/bash
awk -F: ($1dn)($NF/bin/bash) {print $1,$NF} /etc/passwd
#逻辑或
awk -F: ($1ntp)||($NF/bin/bash) {print $1,$NF} /etc/passwd
#打印文件内容的第一行和第九行
cat /var/log/nginx/access.log | awk {print $1,$9}cat test.sh | awk NR2{print $3}
cat test.sh | awk NR3{print $3}
cat test.sh | awk NR2{print $3}
cat test.sh | awk NR!1{print $3}curl主要作用是发送数据 curl 域名/IP地址 获取网页内容并且输出 -O 下载文件到本地 -o 将文件下载到指定的路径 -x 发生post请求 -i 取web软件的版本服务端没有隐藏版本号
#取小数点后几位(四舍五入)
num$(awk BEGIN{printf %.2f, 2.2222.222})
echo $num
#取整数四舍五入
num$(awk BEGIN{printf %.F, 2.222*2.222})
echo $num#用awk把主机名取出来
vim test.txt
1 www.kgc.com
2 mail.kgc.com
3 ftp.kgc.com
4 linux.kgc.com
5 blog.kgc.co
cat test.txt | awk -F[ .] {print $2}
cat test.txt | awk #统计/etc下文件的总大小
ll /etc | awk /^-/{print sum$5}END{print 文件的总大小是:sum/1024M}#167行磁盘中的容量和
df |grep -v tmpfs | grep -v /dev/sr0 | awk NR1{sum$3} END{print 磁盘中的容量是:sum/1024/1024G}