awk 小技巧

一、AWK引用外部变量的方法
1、通过"‘‘"引起变量
# a=100;awk ‘BEGIN{print "‘$a‘"/5}‘
20
2、使用-v参数
awk -v a=100 -v b=5 ‘BEGIN{print a/b}‘

二、AWK和echo计算保留小数位
a=100;awk ‘BEGIN{printf"%.3f\n","‘$a‘"/5}‘
echo "scale=4;100/5"|bc

三、AWK进行内容拼接
# cat aa.txt
beijing
192.168.1.1
192.168.1.2
192.168.1.3
shanghai
172.17.0.1
172.17.0.2
172.17.0.3
guangzhou
10.0.0.1
10.0.0.2
10.0.0.3

变换为:
192.168.1.1 beijing
192.168.1.2 beijing
192.168.1.3 beijing
172.17.0.1 shanghai
172.17.0.2 shanghai
172.17.0.3 shanghai
10.0.0.1 guangzhou
10.0.0.2 guangzhou
10.0.0.3 guangzhou

awk ‘{if($0 ~/^[a-z]/) a=$0;print $0,a}‘ aa.txt |grep -P "[0-9]"

时间: 2024-10-21 00:09:58

awk 小技巧的相关文章

awk小技巧和深度应用

awk简介 awk 是一种编程语言,由AT&T 贝尔实验室的Alfred Aho,Peter Weinberger 和Brian Kernighan开发一种对文件进行指定规则浏览和抽取信息的工具.当然,有awk必然还要说sed,这俩都是上古神器,功能十分强大,sed和awk各有各的有点,awk在速度上要慢于sed. awk基本语法 awk [options] 'program' file file ... awk [options] 'PATTERN{action}' file file ...

awk 数据处理小技巧

进行数据分析或统计时,如果数据量较小,我们可以用awk快速处理,以下是一些小技巧 一.时间戳转换 日期转时间戳: date -d "20150315"  "+%s" 时间戳转日期:date -d @1426565428 "+%Y-%m-%d" 二.数据统计处理 随机取100个数awk 'BEGIN{srand()} {print rand()" "$1}' 2.txt | sort -k1 | head -100 取交集cat

linux 小技巧总结

(1)linux判断文件是否存在 if [ -f filename]: then      ......#要执行的语句 fi 具体例子: file=/usr/local/oracle/oradata/archived_log/file.txt if [ -f $file ];then             #判断文件是否存在,存在就追加   echo $file_i >> $file   else                               #否则复写   echo $fil

Ubuntu使用之Svn命令小技巧

注: [svn Path]:是指要取代码分支的服务器绝对路径 [Path]:是指终端相对当前目录的相对路径,如果是在当前目录下,就省略路径 ①.取svn服务器的代码: svn co [svn Path] ②.查看当前目录的svn状态: svn st ③.查看某个目录的svn状态: svn st [Path]dirName ④.查看某文件在svn上的修改记录: svn log [Path]fileName ⑤.查看某文件/目录在svn上的最近n次修改记录(n必须是大于0的整数): svn log

【转载】有哪些省时小技巧,是每个Linux用户都应该知道的

前言:有网友在问答网站Quora上提问:“有哪些省时小技巧,是每个Linux用户都应该知道的?” Joshua Levy 平常就在 Linux 平台工作,并且他积累了不少实用命令行技巧,他在回复中精选出一部分.对技术用户来说,这些技巧挺重要或实用,但知道的人并不多.下文略有点长,一般来说,用户也不需要对全部内容都了解,但为了达到省时方便的目的,Joshua Levy 仍不遗余力做了校对,以保证列出的每一条都值得一读,前提是你是一位Linux重度用户. 为了获取文中提到的一个命令的更多信息,先试下

shell 小技巧之修改后缀及grep

批量修改文件后缀 第一种: #!/bin/bash for fn in *.$1 do mv $fn ${fn%$1}$2 done 第二种: find . -name "*.txt" | awk -F'[./]+' '{print $2}' | xargs -i -t mv {}.txt {}.sh GREP 用户小技巧 文件如下: # cat test.txt  This is a test file a good day and no coludy Sit here and si

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

给你一个云端的大脑01:印象笔记小技巧

我在上课时,很多学员们给我的反馈都是:老师你讲的太精彩啦,但我记不住.我最重视的就是学员的反馈,因为我是一个完美主义者,凡事既然做就要做到最好.而学员就像我的一面镜子,反馈是我改进的方向. 很久以前,我听到这样的反馈第一反应就是自己还是讲得不够好,但后来我的讲课都能hold住全场300多人的时候,我发现这个反馈仍然频繁出现,这不是我的问题而是学员们不会学习的问题,这样的学员在工作中也是缺乏自我培养的能力. 所以从今天起,我的平台又加入一个主题:给你一个云端的大脑.告诉你如何记笔记,如何整理大脑记

思科命令配置小技巧三:alias 命令

大家都用过手机上的快捷拨号设置 思科设备是否支持命令的快捷键定义呢 答案是肯定的 suzhouxiaoniu(config)#alias exec xx show ip inter bri  xx是自定义的快捷键名称,可以是数字 suzhouxiaoniu#xx 直接敲定义好的名称Interface                  IP-Address      OK? Method Status                ProtocolFastEthernet1/0