awk怎么提取某一关键词后的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk怎么提取某一关键词后的内容相关的知识,希望对你有一定的参考价值。
echo "关键词后的内容"|awk ' if(match($0,"关键词"))print substr($0,RSTART+RLENGTH) '
match函数查找关键词后,自动设置的两个变量RSTART表示关键词开始位置,RLENGTH表示关键词长度,用substr从关键词后的一个位置取出内容即可
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
本文将使用命令awk将具有某个关键字的段落提取出来。
AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。 参考技术A echo "关键词后的内容"|awk ' if(match($0,"关键词"))
print substr($0,RSTART+RLENGTH) '
match函数查找关键词后,自动设置的两个变量RSTART表示关键词开始位置,RLENGTH表示关键词长度,用substr从关键词后的一个位置取出内容即可本回答被提问者采纳 参考技术B awk -F"keyword" '/keyword/print $2' file
perl单行命令[03]-awk
perl单行命令[03]-awk
摘要
提取文档中某一列的数据,这是awk的强项,perl吸收并简化了awk,让awk变得更加简洁高效。}{ 循环终止符。
文本格式
1.txt
C 1 2 3 SER
N 2 3 4 PRO
O 1 1 1 CYS
F 1 2 3 ALA
Cl 2 3 6 ILE
Br 4 4 7 GLN
提取第5列数据
perl -lane 'print $F[4]' 1.txt
开关分析
-l 让print变成say的效果,自动在后面添加换行符
-a 打开awk的开关,同awk一样默认分隔符号是空格符号,可以通过-F开关自定义分隔符号,默认数组@F用来存放拆分后的元素
-n 循环读取文本中的行
-e 运行单行命令
分别对2,3,4列求和
perl -ane '$sum[0]+=$F[1];$sum[1]+=$F[2];$F[2]+=$F[3];}{print "$sum[0] $sum[1] $sum[1] "'
}{ 循环终止符号
借debug模式体验交互模式
perl -de 0
perl -de 1
perl -de 'print "run in linux "'
perl -de "print qw(run in window)"
D:\Program Files\CCDC1.8\lib>perl -de "print qw(hh)"
Loading DB routines from perl5db.pl version 1.44
Editor support available.
Enter h or 'h h' for help, or 'perldoc perldebug' for more help.
main::(-e:1): print qw(hh)
DB<1> @a=(1..100)
DB<2> map{$sum+=$_}@a
DB<3> print $sum
5050
以上是关于awk怎么提取某一关键词后的内容的主要内容,如果未能解决你的问题,请参考以下文章