awk 命令
来源:互联网 发布:squarespace域名设置 编辑:程序博客网 时间:2024/05/21 17:59
awk
Table of Contents
- 1 命令用法:
- 2 模式和动作
- 3 域和记录
- 4 示例
- 4.1 输出
- 4.1.1 1.抽取域
- 4.1.2 2.保存输出
- 4.1.3 3.打印报告头
- 4.1.4 4.打印结尾
- 4.2 条件操作符
- 4.2.1 1.匹配
- 4.2.2 2.精确匹配
- 4.2.3 3.不匹配
- 4.1 输出
1 命令用法:
awk [-F field-separator] 'commands' input-file(s)
空格为默认分隔符
2 模式和动作
commands 可以有多个动作,第个动作用{}括起来 模式有两个特殊字段 BEGIN 设置计数和打印表头 END 打印文本输出总数和结尾状态
3 域和记录
用$1,$3分别表示第1和第3域。$0表示所有域,用print命令打印域
4 示例
4.1 输出
4.1.1 1.抽取域
awk -F: '{print $1}' /etc/passwd
4.1.2 2.保存输出
awk -F: '{print $1}' /etc/passwd | tee user 使用tee命令,在输出文件的同时,输出到屏幕
4.1.3 3.打印报告头
awk -F: 'BEGIN {print "NAME\n"} {print $1}' /etc/passwd
4.1.4 4.打印结尾
awk -F: '{print $1} END {print "this is all users"}' /etc/passwd
4.2 条件操作符
4.2.1 1.匹配
awk -F: '{if($1~/root/) print }' etc/passwd //{if($1~/root) print}表示如果field1包含root,打印它
4.2.2 2.精确匹配
使用等号 == awk -F: '{if($3=="0") print }' /etc/passwd
4.2.3 3.不匹配
!~ awk -F: '{if($1!~/linuxtone/) print }' /etc/passwd
!= 精确不匹配 awk -F: '{if($1!="linuxtone") print }' /etc/passwd
打印有多少行记录 awk 'END {print NR}' /etc/passwd
设置输入域到变量名 awk -F: '{name=$1; path=$7; if(name~/root/) print name "\tpath is:" path}' /etc/passwd
域值比较操作 awk '{if($6<$7) print $0}' input-file
参考:http://bbs.linuxtone.org/thread-2777-1-1.html
- awk 命令
- awk 命令
- awk命令
- awk命令
- awk 命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk命令
- awk 命令
- awk命令
- awk命令
- awk命令
- gdb 调试
- How do you discover your real purpose in life?
- makefile
- Linux内核驱动加载顺序 3
- 像素与分辨率
- awk 命令
- C#字符串操作 取文本左边 取文本右边 取文本中间 取文本中间到List集合 指定文本倒序
- PACKET套接字在用户态实现跨OS跨协议的NAT
- wince6 更新设备时间
- 关于CxImage内存方式转换图像
- Linux 共享库: LD_LIBRARY_PATH 与ld.so.conf
- sed 命令
- linux 有用的命令
- wince6 获取设备时间并按要求格式返回