营销网站建设企划案例,网页制作需要学什么语言,免费文字logo生成器,营销网站 需求说明书目录 绪论
1、用法
1.1 格式选项
1.2 awk 常用内置变量
1.3 awk的打印功能
1.4 奇偶打印
1.5 awk运算
1.6 awk的内置函数#xff1a;getline
1.7 文本过滤打印
1.8 awk条件判断打印
1.9 三元表达式#xff0c;类似于java
1.10 awk的精确筛选
1.11 awk和tr比较改变…目录 绪论
1、用法
1.1 格式选项
1.2 awk 常用内置变量
1.3 awk的打印功能
1.4 奇偶打印
1.5 awk运算
1.6 awk的内置函数getline
1.7 文本过滤打印
1.8 awk条件判断打印
1.9 三元表达式类似于java
1.10 awk的精确筛选
1.11 awk和tr比较改变分隔符
1.12 awk结合数组来进行使用
1.13 去重统计 绪论
awk是文本三剑客之一grepsedawk是功能最强大的文本工具也是按行来进行操作对行操作完之后可以根据指定命令来进行取列
awk的分割符他的默认分隔符是空格或者tab键多个空格它会自动压缩成一个
1、用法
awk 选项 模式或者条件{操作} 文件
1.1 格式选项
-F 指定分割符如果是空格则不需要加F
-v 变量赋值
{操作}默认为打印
egawk {print $1} test.txt 打印第一列
打印多列的话用逗号隔开$0表示全部打印
1.2 awk 常用内置变量
$0 打印所有内容
$n 处理行的第几列
NR 处理行的行号
NF 处理当前行的字段个数$NF就表示最后一个字段
FS 列分割符指定文本的分割符和F作用一直
F:分割符 FS:
OFS 输出文本的分割符
RS 输出分割符为回车行分割符
内置变量$n要加$,表示列的其他的内置变量不用加$更不能用引号也不能用括号否则会被当成字符串处理
1.3 awk的打印功能
awk {print} 文件名
awk {print NR} 文件名
awk {print NR,$0} 文件名
指定行号打印输出内容
awk NR3{print} test,txt 打印第三行
awk NR2NR4{print} test,txt 打印第二到四行
awk NR2NR4{print} test,txt 打印第二和四行
1.4 奇偶打印
awk NR%20{print} 文件名 偶数打印
1.5 awk运算
awk BEGIN{PRINT 1020}
awk begin{print 3^2} 3的2次方也支持小数运算 awk {print $3} test.txt取出第三行
1.6 awk的内置函数getline
· 如果getline左右两侧没有重定向符号或者没有|时awk会先读第一行但是如果加了getline跳过第一行读取第二行
awk {getline;print} test.txt 打印了第二行和第四行偶数打印
awk {print;getline} test.txt 奇数打印
· 如果两边有重定向或者管道符getline作用于定向输入文件
awk {getline test1.txt;printtest2.txt} test1.txt操作对象是test1.TXT获取test1的内容传给test2
ls | awk {getline ky30;print ,ky30;} getline自定义的变量。把ls输出的结果传给ky30打印前面ls的结果
1.7 文本过滤打印
awk 以root为开头的行
awk /^root/{print} /etc/passwd
awk BEGIN{..};{..};END{..} 文件在对文件进行操作之前会先执行BEGIN{..}的模式条件或者是命令操作。中间的{..}是真正的处理文件的命令。END{..}结束语句一般都是打印执行结果
v变量赋值指的是改变分割符
1.8 awk条件判断打印
awk -F: $3100{print} /etc/passwd | head -n 15 第三列大于100的打印出来
取反awk -F: !($310){print} /etc/passwd | head -n 15
awk支持条件判断语句if
awk -F: {if ($310) {print}} /etc/passwd
1.9 三元表达式类似于java
格式awk (条件表达式)A表达式或者值B的表达式或者值
相当于if 相当于else
awk -F: {i($3$4)?$3:$4;{print $1,$2}} /etc/passwd
1.10 awk的精确筛选 $NF:最后一个字段
head -n 2 /etc/passwd | awk -F: {print $NF} 第七个字段为bash打印第一列和最后一列
awk -F $7~nologin{print $1,$3} /etc/passwd 第七个字段不是nologin的打印第一列和第三列
和 ||或 条件表达式用括号括起来
1.11 awk和tr比较改变分隔符
echo a b d | tr : 输出a:b:c:d
1.12 awk结合数组来进行使用
在awk中怎么定义数组 1.13 去重统计 提取host.txt主机名 awk -F [ .] {print $2} test.txt