`
xiangzi21
  • 浏览: 30044 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

awk备忘,强大的awk

阅读更多

 

越来越发现awk的强大,做了实验,做了总结 备忘!!

 

/**在linux shell中调用awk  (awk 'xxxxxxx'  xxxxxxx即为awk命令,命令必须包含在单引号中,至少双引号都不行)**/

 

/**awk 显示文本文件myfile中中以字符%分隔的第一字段,第三字段和第七字段及NF(域的个数):**/

方法一:awk -F '%' 'NR==7,NR==15 {print $1 $3 $7 NF}'  

方法二:awk '{FS="%"} NR==7,NR==15 {print $1 $3 $7 NF}'

 

{FS="%"}:设置awk分隔符

 

 

NF:显示域的个数(不是分隔符数,一般应该是分隔符数加1)

# cat test1.txt

aa bb c

 

# cat test1.txt | awk '{print NF}'

3

 

NR==7,NR==15:第七行到第十五行 (貌似只能设两个,设置三个会报错 如:NR==7,NR==15,NR==20)

注意:NR==7,NR==15 {print $1 $3 $7 NF} 要写在一行里,中间不能有分号

 

print:打印时会换行,printf:打印时不会换行 (还没弄明白为什么)

 

 

/**awk显示第5列有A,L或LIKE的所有列 **/

awk '$5~ /[A,L,LIKE]/  {print $0}' tmp.txt 

 

/**awk显示第5列不包含A或L的所有列 **/

awk '$5!~'/[A,L]/' {print $0}' tmp.txt 

 

 

/**打印行号,OFS在$1,$2之间以"-"分隔**/

 awk 'OFS="-" {print NR,$1,$2 }' tmp.txt

 

NR:行号

OFS:将需要输出数据的分隔符

# cat test1.txt

aa bb c

 

# cat test1.txt |awk ' OFS="-" {print $0}'

aa bb c

--因为没有分隔符,也没分域,相当于只有一个域,所以没打出"-"

 

#cat test1.txt |awk ' OFS="-" {print $1 $2 $3}'

aabbc

--不带分隔符打出各域

 

# cat test1.txt |awk ' OFS="-" {print $1, $2, $3}'

aa-bb-c

--有了逗号,所以中间要有分隔符

 

 

/**利用BEGIN和END打印页眉页脚(支持转义)**/

# awk 'BEGIN {print "begin\nbegin2"}{print $0}{print $0}END{print "end"}' test1.txt 

begin

begin2

aa bb c

aa bb c

end

 

 

/**把test1.txt前面加上行号,追加到tt22中**/

#awk '{print NR,$0 >> "./tt22"}' test1.txt

#cat tt22 

1 aa bb c

 

 

/**管道输出并执行shell命令**/

awk '{print $0 | "sort"}' tmp.txt 

 

# cat test2.txt 

1

3

2

 

# awk '{print $0 | "sort"}' test2.txt 

1

2

3

 

/**从文件读取awk命令并执行: awk -f awk脚本名 目标文件 **/

 

# cat test.awk 

BEGIN {FS="\t";OFS="-"}

 

{print $1,$2}

 

# cat test2.txt 

1

3

2

 

# awk -f test.awk test2.txt    

1-

3-

2-

 

 

/**把第一竖排变成横排**/

#awk '{printf("%s,",$1)}' test2.txt  

1,3,2,

 

0
0
分享到:
评论

相关推荐

    awk_tawk:关于AWK多么令人敬畏的闪电演讲,特别是对AWK编程语言的回顾

    awk_tawk 介绍AWK的出色表现,包括对AWK编程... 方便的Awk备忘单: : Archive.org链接到Awk编程语言PDF: : 还有一个很好的单线列表: : Karabiner Elements-可以使用点击器(模拟键盘)来控制此演示文稿: :

    Linux速查备忘命令手册.zip

    Linux是世界上最广泛使用的开源操作系统之一,它为用户提供了一个强大的命令行接口(CLI)进行系统管理。这份"Linux速查备忘命令手册"是为那些在Linux环境中工作的人们准备的一份实用工具,无论你是初学者还是经验...

    Windows下Apache2.2 + Tomcat5.5 + Apr配置备忘录

    在Windows下,由于原生命令行不支持`awk`,Cygwin提供的`awk.exe`就显得尤为重要。 总结来说,配置Apache2.2 + Tomcat5.5 + Apr涉及的主要步骤包括安装Cygwin环境,编译Apache和Apr,配置Apache和Tomcat的集成,...

    linux中级命令备忘录中文版.pdf

    3. **`awk`** 命令:这是一个强大的文本处理工具,用于处理和操作文本。如: - `awk '/red/ {print}' colors.txt` 打印包含“red”的行。 - `awk '{print $1,$4}' colours.txt` 打印每行的第一列和第四列。 - `...

    Linux 备忘手册.zip

    3. **文本处理工具**:`cat`, `more`, `less`, `grep`, `sed`, 和 `awk`等命令用于查看、搜索、编辑和处理文本文件,是Linux操作中的常见工具。 4. **进程管理**:`ps`用于查看当前运行的进程,`kill`和`killall`...

    安全备忘单:for各种信息安全工具和主题的备忘单的集合

    8. **恶意软件防护**:如何使用grep、awk和其他工具进行基本的恶意文件查找和分析。 9. **密码管理**:推荐使用强密码策略,以及密码安全存储方法,如使用pass或gnome-keyring。 10. **安全更新与补丁**:强调保持...

    Cheatsheets:Codecademy的备忘单

    - 文本处理(grep、sed、awk) - 管道操作(|)和重定向(>、<) - 查看系统信息(whoami、uname、top等) - 脚本编写(bash shell脚本) 3. **Web开发** - HTML基础知识:标签、属性、结构 - CSS样式表:...

    Privilege-Escalation:此备忘单针对 CTF 玩家和初学者,通过示例帮助他们了解权限提升的基础知识

    权限提升备忘单 (Vulnhub) 此备忘单针对 CTF 玩家和初学者,通过示例帮助他们理解权限提升的基础知识。 它不是使用 Linux 命令... awk 3. 21 LTR:场景1 猫 4. 天塔 猫 5. 矩阵:1 cp 6. 人造卫星一号 编辑 7

    dformat:乔恩·本特利(Jon Bentley)的DFORMAT troff预处理器,已重构

    在2019年秋天,我遇到了备忘录的PDF副本并保存了它,以便我可以为其重新构造原始的troff -ms输入以及awk代码。 我终于在2020年6月偷了一些时间来做到这一点。 过程 我首先简单地通过复制/粘贴将PDF中的所有文本复制...

    备忘单

    - **Linux**: 命令行操作(ls、cd、cp、mv、grep、find、sed、awk)、文件权限、进程管理、系统调用等。 - **Windows**: DOS命令、注册表编辑、系统服务管理、任务管理器等。 7. **网络安全**: - 密码学基础:...

    cheatsheets:非常有用的备忘单

    #15 Cheat Sheets cheat sheet原意是考试作弊带的小抄,...Awk Cheat Sheet: 文本处理工具awk用法索引 Shell Script Cheat Sheet: Shell脚本编程常用语法 Linux Command Cheat Sheet: Linux常用命令快速索引 Linux Adm

    Unix/Linux之命令备忘录

     arp -n -i bond0 | awk '$5==bond0 {print $1,$3}'  sed:用来把文档或字符串里面的文字经过一系列编辑命令  // 从/script/ip读取单行数据后打印出来  sed -n '1p' /script/ip  iptables:是与新的 3.5 ...

    Quick-CheatSheet:快速命令备忘单,您可以直接将open导入到您的笔记本中

    2. **高级命令**:涵盖更复杂的功能,如grep(搜索文本模式)、sed(流编辑器)、awk(处理文本数据)和find(查找文件)等。 3. **管道和重定向**:如何利用管道(|)和重定向(>、<)将命令输出进行组合或存储。 4...

    CheatSheets:CS不同主题的备忘单!

    AWK 天蓝色 乙 重击 搅拌机 市场 商业开发银行 BGP 伯克利 D B BIRT 烈焰DS 博主 蓝图 BPEL 业务流程管理 BPML 业务流程建模 C C C# C++ 结石 修改 Clojure 云计算 制作 可可 冷聚变 颜色 计算机科学...

    编程珠玑.pdf

    2.1 Awk中的关联数组 13 2.2 有穷状态机模拟器 16 2.3 拓扑排序 17 2.4 原理 20 2.5 习题 21 2.6 深入阅读 22 第3章 程序员的忏悔 23 3.1 二分搜索 24 3.2 选择算法 26 3.3 子程序库 28 3.4 原理 30 3.5 习题 31 第4...

    linux 精选书籍多本

    Linux命令行是其强大之处,包括find(查找文件)、grep(搜索文本)、sed(流编辑器)、awk(数据处理工具)等高级命令,这些工具在日常系统维护和自动化脚本编写中起着关键作用。学习并熟练掌握这些命令能极大地...

    cheat_sheets:看起来很有帮助的命令。 向上

    - Linux/Unix命令:ls、cd、pwd、mkdir、rm、cp、mv、grep、find、sed、awk等,这些都是系统管理的基本操作。 - Windows命令:dir、cd、copy、move、del、mkdir、rmdir等,用于文件和目录管理。 2. **版本控制**...

    Linux命令.zip

    本资料“Linux命令.zip”包含了“Linux速查备忘手册.pdf”,旨在帮助用户熟悉并掌握Linux环境下的常用命令。下面将详细阐述这些命令及其应用。 一、文件和目录操作 1. `ls`:列出目录内容,常用选项有 `-l`(详细...

    陷阱滤波matlab代码-dotfiles:点文件

    备忘单 重击 pkill -trap 捕获在 GDB 中运行的进程而不会导致延迟 SIGKILL。 sed -i 's/[regex]/[replacement]/g' ... 内联搜索/替换。 sed -n '/[regex]/p' ... 使用sed regex 语法对事物进行grep 。 awk [-F] ...

    Memento-CheatSheet

    例如,Linux shell中的`grep`、`sed`和`awk`等工具。 3. **Memento模式**:设计模式之一,用于在不破坏封装性的前提下,捕获和恢复对象的状态。它通过创建一个“备忘录”对象来存储对象的内部状态,可以在需要时...

Global site tag (gtag.js) - Google Analytics