awk用法练习
2018-01-23 00:31
309 查看
如:
A=44echo "ABCD" | awk -v GET_A=$A ’{print GET_A}’
说明:-v选项用于定义参数,这里表示将变量A的值赋予GET_A。
有多少个变量需要赋值,就需要多少个-v选项。与之等价的:应用于脚本中:
#! /bin/bash
sort -n filename |awk -F ':' '{print $1}'|uniq >id.txt
for id in
echo "[$id]"
awk -v id2=$id -F ':' '$1==id2 {print $2}' filename // 另外的方式为: awk -F ':' '$1=="'id'" {print $2}' filename
done
awk 合并一个文件
awk 'NR==FNR{a[$1]=$2}NR>FNR{print $0,a[$1]}' 1.txt 2.txt
解释:NR表示读取的行数,FNR表示读取的当前行数
所以其实NR==FNR 就表示读取2.txt的时候。 同理NR>FNR表示读取1.txt的时候
数组a其实就相当于一个map
把一个文件多行连接成一行
awk 'gsub(/nologin/,"abc")' /etc/passwd // passwd文件中把所nologin替换为abc
awk -F ':' 'gsub(/root/,"abc",$1) {print $0}' /etc/passwd // 替换$1中的root为abc
grep 或 egrep 或awk 过滤两个或多个关键词
egrep '123|abc' filename //用egrep同样可以实现
awk '/123|abc/' filename // awk 的实现方式
把两个文件中相同的行合并成一行
A=44echo "ABCD" | awk -v GET_A=$A ’{print GET_A}’
说明:-v选项用于定义参数,这里表示将变量A的值赋予GET_A。
有多少个变量需要赋值,就需要多少个-v选项。与之等价的:应用于脚本中:
#! /bin/bash
sort -n filename |awk -F ':' '{print $1}'|uniq >id.txt
for id in
cat id.txt; do
echo "[$id]"
awk -v id2=$id -F ':' '$1==id2 {print $2}' filename // 另外的方式为: awk -F ':' '$1=="'id'" {print $2}' filename
done
awk 合并一个文件
awk 'NR==FNR{a[$1]=$2}NR>FNR{print $0,a[$1]}' 1.txt 2.txt
解释:NR表示读取的行数,FNR表示读取的当前行数
所以其实NR==FNR 就表示读取2.txt的时候。 同理NR>FNR表示读取1.txt的时候
数组a其实就相当于一个map
把一个文件多行连接成一行
awk 'gsub(/nologin/,"abc")' /etc/passwd // passwd文件中把所nologin替换为abc
awk -F ':' 'gsub(/root/,"abc",$1) {print $0}' /etc/passwd // 替换$1中的root为abc
grep 或 egrep 或awk 过滤两个或多个关键词
egrep '123|abc' filename //用egrep同样可以实现
awk '/123|abc/' filename // awk 的实现方式
把两个文件中相同的行合并成一行
相关文章推荐
- awk的几个常用高级用法
- [保留] awk用法小结(作者总结)
- awk用法小结
- Linux中 sed 和 awk的用法详解
- 转载自马哥视频学习笔记---Linux Web服务器网站故障分析常用的命令之awk用法的简单示例
- shell 里 awk print 的用法
- awk常见用法
- 英语口语练习五十八之帮助help的用法
- awk 用法
- gawk(awk)的用法案例
- 关于linux中的awk用法
- awk用法小结
- AWK用法详解
- awk用法详解
- [sed与Awk教程入门与实例练习]
- L28 Linux:awk的用法详解
- Linux—sed与awk基本用法
- awk命令用法
- AWK用法示例 awk命令
- mysql练习之Alter用法总结