awk
文本三剑客最后一个命令
grep 查
sed 增删改查 主要增和改
awk 按行去列
awk默认的分隔符:空格,tab键,多个空格自动压缩成一个。
awk的工作原理:根据指令信息,逐行的读取文本内容,然后按照条件进行格式化输出。
awk的选项:
-F 指定分隔符,默认就是空格
-v 变量赋值
内置变量:
$# 按行需要取出的第几个字段
$0 打印所有,展示所有的文本内容
NR 需要处理的行号
NF 处理行的字段个数,$NF: 当前行的最后一段
FS FS和F是一样的,都是指定分隔符,-F: FS=":"
OFS 指定输出内容的分隔符
RS 行分割符,可以根据RS的设置把文件内容切成多个记录,也可以改变行的分隔符,默认是\n,回车,换行。
命令格式:
awk -F '操作符 (动作)' 处理对象
-F指定分隔符,如果是空格可以不加
动作,默认就是打印
奇偶数打印:
awk 'NR%2==0{print}' awk.txt
打印第1和第3行的第3列
awk -F: 'NR==1{print $3} NR==3{print $3}' /etc/passwd
awk怎么使用文本过滤
awk '/root/{print}' /etc/passwd
BEGIN打印模式
awk 'BEGIN{...};{...};End{...}'
BEGIN{...}预先的条件,执行awk命令前的初始化操作
{...}处理条件,如何对初始值进行操作
End{...}处理完之后的操作,一般都是打印
取幂运算
awk 'BEGIN{print 2^3}'
awk的精确筛选
$(><==)用于比较数值
$n!~"字符串":该字符段包含某个字符串
$n=="字符串" 该字段等于这个字符串
$n!="字符串" 该字段不等于这个字符串
$NF 代表最后一个字段
逻辑关系:
且和或
curl是一个功能强大的命令
获取和发送数据
curl <www.baidu.com>
curl 192.168.233.10
获取网页内容并且输出
-O 下载文件到本地
-o 将文件下载到指定的路径
-x 发送post请求
-i 可以获取web软件的版本(服务端没有隐藏版本号)