复习 扩展
来源:互联网 发布:mysql offset 编辑:程序博客网 时间:2024/06/05 00:18
- awk 中使用外部shell变量
如:
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 “[
done
附件:
cat filename
1111111:13443253456
2222222:13211222122
1111111:13643543544
3333333:12341243123
2222222:12123123123
运行脚本后结果为:
[1111111]
13443253456
13643543544
[2222222]
13211222122
12123123123
[3333333]
12341243123
2 . awk 合并一个文件
需要把两个文件中,第一列相同的行合并到同一行中
NR表示读取的行数,FNR表示读取的当前行数
NR==FNR就是读取2.txt的时候。那么NR>FNR表示读取1.txt的时候,数组a其实就相当于一个map
3 . 把一个文件多行连接成一行
a=cat file
;echo a
awk ‘{printf(“%s “,0)}’ file // %s 后记得要有一空格,否则出来就是完全连在一起的,中间连空格都没有
cat file |xargs
4 . awk中gsub函数的使用
awk ‘gsub(/www/,”abc”)’ /etc/passwd // passwd文件中把所有www替换为abc
awk -F ‘:’ ‘gsub(/www/,”abc”,
5 .把两个文件中相同的行合并成一行
格式为:paste filename1 filename2
如果,你想在两个文件连接处用一个指定的字符连接,还可以用-d来指定
paste -d ‘+’ filename1 filename2
6 .grep 或 egrep 或awk 过滤两个或多个关键词
grep -E ‘123|abc’ filename // 找出文件(filename)中包含123或者包含abc的行
egrep ‘123|abc’ filename //用egrep同样可以实现
awk ‘/123|abc/’ filename // awk 的实现方式
- 复习 扩展
- 扩展KMP复习小记
- 最后复习之扩展欧几里得
- JAVA基础复习(五)Map扩展
- oracle复习(二) 之扩展 设置数据库为只读
- 关于扩展欧几里得算法(exgcd)的总结与复习
- iOS复习 OC语言 类目Category/类扩展Extension
- 正则表达式扩展----网页爬虫(复习io流+网络)
- 基础数论复习——扩展欧几里德算法
- 中国剩余定理及其扩展——学习(复习)笔记
- 扩展欧几里得算法及其应用——学习(复习)笔记
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- Java之冒泡排序
- Jetson TX2 刷机并安装JetPack3.1
- 练习4
- Linux中查看系统资源占用情况的命令
- mongodb学习笔记一
- 复习 扩展
- && 和&以及|和||的区别
- 面试题积累之继承(细节问题)
- Spring:新时代的Java源代码
- 1332A+B
- Windows下将cmd这个命令写入鼠标右键中
- 实数的绝对值
- JS类型转换(强制和自动的规则)
- 时钟