SHELL用法九(awk练习)
awk 'pattern + {action}' file
单引号''是为了和shell命令区分开;
大括号{ }表示一个命令分组;
pattern是一个过滤器,表示匹配pattern条件的行才进行Action处理;
action是处理动作,常见动作为Print;
使用#作为注释,pattern和action可以只有其一,但不能两者都没有。
FS 分隔符,默认是空格; OFS 输出分隔符; NR 当前行数,从1开始; NF 当前记录字段个数; $ 当前记录; $~$n 当前记录第n个字段(列)。
gsub(r,s):在$0中用s代替r; index(s,t):返回s中t的第一个位置; length(s):s的长度; match(s,r):s是否匹配r; split(s,a,fs):在fs上将s分成序列a; substr(s,p):返回s从p开始的子串。
++ -- 增加与减少( 前置或后置); ^ ** 指数( 右结合性); ! + - 非、一元(unary) 加号、一元减号; + - * / % 加、减、乘、除、余数; < <= == != > >= 数字比较; && 逻辑and; || 逻辑or; = += -= *= /= %= ^= **= 赋值。
if(condition) { } else { };
while { };
do{ }while(condition);
for(init;condition;step){ };
break/continue。
df -h|awk '{print $1}'
awk -F '[ :\t;]' '{print $1}' jfedu.txt
awk -F: '{print $1 >>"/tmp/awk.log"}' jfedu.txt
awk 'NR==3,NR==5 {print}' jfedu.txt
awk 'NR==3,NR==5 {print $0}' jfedu.txt
awk 'NR==3,NR==5 {print $1,$NF}' jfedu.txt
awk 'length($0)>80 {print NR}' jfedu.txt
awk -v STR=hello '{print STR,$NF}' jfedu.txt
STR="hello";echo| awk '{print "'${STR}'";}'
(8) AWK以冒号切割,打印第一列同时只显示前5行:
|awk -F: '{print $1}'
awk -F: 'NR>=1&&NR<=5 {print $1}' /etc/passwd
cat jfedu.txt |awk '{sum+=$1}END{print sum}'
awk -F: 'NR%2==0 {next} {print NR,$1}' /etc/passwd
ifconfig eth0|grep "Bcast"|awk '{print "ip_"$2}'
| awk '{ if(($1>$2)||($1>$3)) { print $2} else {print $1} }'
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i =0; i < NR; i++) print i, name[i]}' /etc/passwd
awk '{if ($9~/502|499|500|503|404/) print $1,$9}' access.log|sort|uniq –c|sort –nr | awk '{if($1>20) print $2}'
netstat -an | awk '/tcp/ {s[$NF]++} END {for(a in s) {print a,s[a]}}'
netstat -an | awk '/tcp/ {print $NF}' | sort | uniq -c
SHELL用法九(awk练习)的更多相关文章
- shell编程之awk命令详解
shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...
- Linux编程 9 (shell类型,shell父子关系,子shell用法)
一. shell类型 1.1 交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...
- 转shell中的awk用法详解
awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 调用awk: 第一种,命令行方式 ...
- shell 强大的awk
from here 小用法,使用awk来对文件随机抽取n行 awk 'BEGIN{srand()} {print rand()"\t"$0}' input_file | sort ...
- shell编程之awk
awk是一种用于处理数据和生成报告的编程语言 awk可以在命令行中进行一些简单的操作,也可以被写成脚本来处理较大的应用问题 awk与grep.sed结合使用,将使shell编程更加容易 awk工作模式 ...
- shell语句记录-awk
cat ./daily_uv/daily_uv_20140104 | awk '{fr[$1]+=$3; k=$1 "_" $2; av[k]+=$3;} END{for (k i ...
- scrapy shell 用法(慢慢更新...)
scrapy shell 命令 1.scrapy shell url #url指你所需要爬的网址 2.有些网址数据的爬取需要user-agent,scrapy shell中可以直接添加头文件, 第①种 ...
- 【shell入门】Shell用法
参考:http://www.cnblogs.com/Lynn-Zhang/p/5758287.html 1.sh/bash/csh/Tcsh/ksh/pdksh等shell的区别 sh(全称 Bour ...
- hive的shell用法(脑子糊涂了,对着脚本第一行是 #!/bin/sh 疯狂执行hive -f 结果报错)
hive脚本的执行方式 hive脚本的执行方式大致有三种: hive控制台执行: hive -e "SQL"执行: hive -f SQL文件执行:参考hive用法: usage: ...
随机推荐
- sqlserver2008的sql语句支持的最大长度
想写一个sql语句,很长,主要是in后跟着无数个用户ID,(虽然实现方式很低级,但是还是凑合着用吧) 不知道sql最大长度是多少,看了 SQL Server 的最大容量规范,写的是 包含 SQL 语句 ...
- 一个支持种子、磁力、迅雷下载和磁力搜索的APP源代码
磁力搜索网站2020/01/12更新 https://www.cnblogs.com/cilisousuo/p/12099547.html 一个支持种子.磁力.迅雷下载和磁力搜索的APP源代码 Lic ...
- mysql安装完之后,登陆后发现只有两个数据库
mysql安装完之后,登陆后发现只有两个数据库:mysql> show databases;+--------------------+| Database |+------ ...
- 阿里云服务器下安装配置phpMyAdmin
1.下载phpMyAdmin wget http://www.phpmyadmin.net/home_page/downloads.php 2.解压下载的文件 tar -zvxf phpMyAdmin ...
- 题解 P1447 【[NOI2010]能量采集】
题目 这题不要用莫比乌斯反演,用欧拉反演更快 [分析] 设点 \((x,y)\) 的能量损失为 \(f(x,y)\) 则 \(\displaystyle Ans=\sum_{i=1}^n\sum_{j ...
- [Algo] 115. Array Deduplication I
Given a sorted integer array, remove duplicate elements. For each group of elements with the same va ...
- 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习
第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作 4-2 session的基本原理与create命令的使用
- Tensorflow学习教程------读取数据、建立网络、训练模型,小巧而完整的代码示例
紧接上篇Tensorflow学习教程------tfrecords数据格式生成与读取,本篇将数据读取.建立网络以及模型训练整理成一个小样例,完整代码如下. #coding:utf-8 import t ...
- 富文本编辑器Tinymce的示例和配置
Demo链接: https://download.csdn.net/download/silverbutter/10557703 有时候需要验证tinyMCE编辑器中的内容是否符合规范(不为空),就需 ...
- opencv+tkinter制作HsvMaster(一)
这两天看opencv-python的HSV色彩空间,在写程序时发现用HSV来提取图像区域是件令人恶心的麻烦事.拿阈值分割做个对比,阈值最多也就一两个参数需要调整:但是HSV需要对三个通道调整上下限,也 ...