www.5129.net > shEll中,Awk命令的$0是什么意思?

shEll中,Awk命令的$0是什么意思?

用单引号将awk命令括起来,不要用双引号,在shell中单引号中$不会被解释成变量,因此在awk脚本单引号中$n就表示awk变量,不会被shell处理

$2:表示第二个字段 print $2 : 打印第二个字段 awk '{print $2}' $fileName : 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是,输出 b1 b2

意思是第3列的元素自身加自身(相当于乘2即$3*2,见下图)

-F',' 指定逗号为字段分隔符 print $0 打印整行,$0表示当前行;若是$1则表示当前行的第一个字段,依此类推。 其实这里指定字段分隔符没什么用,因为并不会打印具体的某一个字段,而是整行都打印出来了。 等同于 awk '{print}' print默认就是打...

awk ' { if ($1==1) print "A" else if ($1==2) print "B" else print "C" }' #命名为1.sh 执行方法:echo "1" | sh 1.sh 写成一行: echo "3" | awk '{if ($1==1) print "A"; else if ($1==2) print "B"; else print "C"}'

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息

awk是一个强大的文字处理工具,这是我的awk学习笔记http://blog.uouo123.com/post/312.html awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'是把tcp开头的匹配出来,再把末尾那一列出现的次数进行汇总 TIME_WAIT 4 ESTABLISHED 2 这样...

打印第一行的第一个字段,默认分隔符为 空格或制表符TAB (都可以)。 源数据可以是通过管道传递过来的多行字符串,也可以是文件。 例如: echo -e "A B C\nD E F\nG H I" | awk 'NR==1 {print $1}'或者: awk 'NR==1 {print $1}' file.txt

$@:表示所有脚本参数的内容 $#:表示返回所有脚本参数的个数。 示例:编写如下shell脚本,保存为test.sh #!/bin/sh echo "number:$#" echo "argume:$@" 执行脚本: ./test.sh first_arg second_arg 说明:给脚本提供了两个参数,所以$#输出的结果...

网站地图

All rights reserved Powered by www.5129.net

copyright ©right 2010-2021。
www.5129.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com