教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

文本分析(课题研究常用方法)

  文本分析(课题研究常用方法)
  awk是流式编辑器,针对文档中的行来操作,一行一行地执行。awk可以非常方便、高效地操作文档以及字符,从而实现我们想要的格式。它的功能非常强大,我在 shell 脚本中经常使用它来处理字符串。下面介绍几个在工作中使用awk较频繁的用法。
  1. 截取文档中的某个段
  示例命令如下:#head-n2test.txt|awk-F':''{print$1}'root  bin
  本例中,-F选项的作用是指定分隔符。如果不加-F选项,则以空格或者tab为分隔符。print为打印的动作,用来打印某个字段。$1为第 1 个字段,$2为第 2 个字段,以此类推。但$0比较特殊,它表示整行:#head-n2test.txt|awk-F':''{print$0}'root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin
  注意awk的格式,-F后面紧跟单引号,单引号里面为分隔符。print的动作要用{}括起来,否则会报错。print还可以打印自定义的内容,但是自定义的内容要用双引号括起来,如下所示:#head-n2test.txt|awk-F':''{print$1"#"$2"#"$3"#"$4}'root#x#0#0bin#x#1#1
  2. 匹配字符或者字符串
  在文档中过滤出包含指定字符串的行,示例命令如下:#awk'/oo/'test.txtroot:x:0:0:root:/root:/bin/bashlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0perator:/root:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsetroubleshoot:x:992:990::/var/lib/setroubleshoot:/sbin/nologin
  这跟sed的用法类似,能实现grep的功能,但没有颜色显示,肯定没有grep用起来方便。不过awk还有比sed更强大的匹配,如下所示:#awk-F':''$1~/oo/'test.txtroot:x:0:0:root:/root:/bin/bashsetroubleshoot:x:992:990::/var/lib/setroubleshoot:/sbin/nologin
  它可以让某个段去匹配,这里的~就是匹配的意思。
  此外,awk还可以多次匹配,如下所示:#awk-F':''/root/{print$1,$3}/test/{print$1,$3}'test.txtroot0operator11test1006
  本例中,awk匹配完root,再匹配test,并且只打印所匹配的段。
  3. 条件操作符
  有时候,在匹配字符的同时要给出限定条件,比如第 3 段为0。示例命令如下:#awk-F':''$3=="0"'/etc/passwdroot:x:0:0:root:/root:/bin/bash
  在awk中,我们可以用逻辑符号进行判断,比如==就是等于,也可以理解为精确匹配。另外,还有>、>=、、!=等。值得注意的是,在和数字比较时,若把要比较的数字用双引号引起来,那么 awk 不会将其认为是数字,而会认为是字符,不加双引号就会认为是数字。示例命令如下:#awk-F':''$3>="500"'/etc/passwd|head-n5shutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinnobody:x:65534:65534:KernelOverflowUser:/:/sbin/nologindbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  本例中,阿铭本想把 uid 大于等于 500 的行打印出来,但是结果并不理想。这是因为awk把所有的数字都当作字符了,就跟上一章中提到的sort排序原理一样。但是,如果不加双引号,就得到了想要的结果:#awk-F':''$3>=500'/etc/passwd|head-n5nobody:x:65534:65534:KernelOverflowUser:/:/sbin/nologinsystemd-coredump:x:999:997:systemdCoreDumper:/:/sbin/nologinpolkitd:x:998:996:Userforpolkitd:/:/sbin/nologingeoclue:x:997:995:Userforgeoclue:/var/lib/geoclue:/sbin/nologinunbound:x:996:991:UnboundDNSresolver:/etc/unbound:/sbin/nologin#awk-F':''$7!="/sbin/nologin"'/etc/passwdroot:x:0:0:root:/root:/bin/bashsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltaminglinux:x:1000:1000:aminglinux:/home/aminglinux:/bin/bash
  上例中,!=表示不匹配,它除了针对某一个段的字符进行逻辑比较外,还可以在两个段之间进行逻辑比较。如下所示:#awk-F':''$3
  另外,还可以使用&&和||,它们分别表示"并且"和"或者"。&&的用法如下:#awk-F':''$3>"5"&&$3
  ||的用法如下:#awk-F':''$3>1000||$7=="/bin/bash"'/etc/passwdroot:x:0:0:root:/root:/bin/bashnobody:x:65534:65534:KernelOverflowUser:/:/sbin/nologinaminglinux:x:1000:1000:aminglinux:/home/aminglinux:/bin/bash
  4. awk 的内置变量
  awk常用的变量有OFS、NF和NR。OFS和-F选项有类似的功能,也是用来定义分隔符的,但是它是在输出的时候定义的。NF表示用分隔符分隔后一共有多少段。NR表示行号。
  OFS的用法示例如下:#head-5/etc/passwd|awk-F':''{OFS="#"}{print$1,$3,$4}'root#0#0bin#1#1daemon#2#2adm#3#4lp#4#7
  还有更高级一些的用法:#awk-F':''{OFS="#"}{if($3>=1000){print$1,$2,$3,$4}}'/etc/passwdnobody#x#65534#65534aminglinux#x#1000#1000
  变量NF的具体用法如下:#head-n3/etc/passwd|awk-F':''{printNF}'777#head-n3/etc/passwd|awk-F':''{print$NF}'/bin/bash  /sbin/nologin  /sbin/nologin
  这里NF是多少段,$NF是最后一段的值。变量NR的具体用法如下:#head-n3/etc/passwd|awk-F':''{printNR}'123
  我们还可以使用NR作为判断条件,如下所示:#awk'NR>40'/etc/passwdinsights:x:978:976:RedHatInsights:/var/lib/insights:/sbin/nologinsshd:x:74:74rivilege-separatedSSH:/var/empty/sshd:/sbin/nologinavahi:x:70:70:AvahimDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinaminglinux:x:1000:1000:aminglinux:/home/aminglinux:/bin/bash
  NR也可以配合段匹配一起使用,如下所示:#awk-F':''NR
  5. awk 中的数学运算
  awk可以更改段值,示例命令如下:#head-n3/etc/passwd|awk-F':''$1="root"'rootx00root/root/bin/bashrootx11bin/bin/sbin/nologinrootx22daemon/sbin/sbin/nologin
  awk也可以对各个段的值进行数学运算,示例命令如下:#head-n2/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin#head-n2/etc/passwd|awk-F':''{$7=$3+$4}'#head-n2/etc/passwd|awk-F':''{$7=$3+$4;print$0}'rootx00root/root0binx11bin/bin2
  awk还可以计算某个段的总和,示例命令如下:#awk-F':''{(tot=tot+$3)};END{printtot}'/etc/passwd84699
  这里的END是awk特有的语法,表示所有的行都已经执行。如下所示:#awk-F':''{if($1=="root"){print$0}}'/etc/passwdroot:x:0:0:root:/root:/bin/bash
  其实awk可以写成一个脚本文件,而且有它特有的语法。在awk中使用if判断、for循环都可以,只是在日常管理工作中,使用那么复杂的语句并不常见。
  最后,我们再附上常见正则字符的解释。
  .表示任意一个字符,比如空格、特殊符号等。
  *表示*前面的字符有 0 个或多个,比如a*那就是 0 个a或者多个a。
  .*表示任意个任意字符,就是贪婪匹配了。
  +就是+前面的字符有 1 个或者多个,如a+就是a、aa、aaa……
  ?就是?前面的字符有 1 个或者 0 个。
  { }里面是一个范围,如{1,5}就是{ }前面的字符有 1~5 个。
  |表示或者,如a|b就是a或者b。
  表示这里面的任意一个字符,如[abc]就是a或者b或者c。此外,也可以用范围[0-9]表示任意一个数字,用[a-z]表示任意一个小写字母。

8位qq号码(正规qq号码交易平台)8位qq号码(正规qq号码交易平台)能把一串数字做成生意,腾讯也是没谁了,比如说QQ靓号,如今五六位的是别想在公开渠道获得了,七八位的都是稀罕之物,更别说所谓的靓号了。腾讯今天宣布怎么申请qq号(网页申请qq号注册账号)还记得这个可爱的企鹅吗?没错,就是QQ,作为国内聊天工具的一哥,无论你是80后90后还是00后,你肯定有着自己的QQ号。转眼间,QQ诞生已经过了20多年,随着用户的增加,QQ号码越7位qq多少钱(七位号qq值多少钱)随着的异军突起,当年盛极一时的QQ开始被遗忘,可尽管QQ的使用度不及当年,但对第一代中国网民来说,QQ中依旧有美好的青春回忆,没人愿意舍弃。其实,那些QQ古董号依旧价值不菲,甚至价qq值多少钱(测试QQ号价值)文小凡如果提到我们最为熟悉也是最早的社交软件的话,那么大家第一时间想到的肯定是出自腾讯公司的QQ。QQ可以说是承载了一代人的青春,是一个时代的里程碑,并且还将这个世界都缩小到了小小8位qq多少钱(QQ7位商城)最近,关于QQ号码可以注销的消息可以说是刷遍了朋友圈,很多人都认为这是腾讯将要放弃QQ的节奏。但是,作为很早的那批QQ用户,你真的知道你的QQ号码现在究竟值多少钱吗?你知道怎么给自GIGABYTEGeForceRTX3080GAMINGOC10G开箱测试3080自製卡的高性价比首选在经历一年多的时间,NVIDIAGeForceRTX3000系列终于发布,打前哨战的RTX3080AIC自製卡终于在今天正式解禁,技嘉当然也推出了一系列的RTX3000显卡,在RTSAMA掠食者V1机壳开箱高质感外型与模组化空间先马掠食者V1机壳,本身算是高塔型机壳,外型简约设计,在前方与上方铝面板阳极黑化,并经过髮丝纹处理,让整体质感提升许多,此外配合RGB灯光修饰条,看起来相当时尚,并于左右侧板採用钢换眼镜框多少钱(镜架坏了眼镜店给换吗)本文作者年轻的大天才这次配眼镜本来被奸商坑了多花了40的费用,买了个根本没有必要的定制镜片,后来经过投诉挽回了损失,不过依然是一次非常不爽的购物体验,希望写出来让广大值友消费的时候烤瓷牙一般多少钱(烤瓷牙破了一小块怎么办)镶牙材料价格是多少镶牙材料有哪些牙齿缺失,牙体缺损不仅仅影响到人的在外影响和社交问题,也会影响牙龈和口腔卫生问题,所以当牙齿缺失或者牙体缺损的时候一定要尽快的进行处理,以免造成其他补一颗牙多久(一颗全瓷牙的价格大约是多少钱)深圳市家鸿口腔恢复上市审核招股书透露数据引发一颗假牙成本百元为何植牙动辄上万一颗假牙成本百元,但是种植一颗牙动辄数千元乃至上万元,这里面有什么门道吗?准备冲刺A股IPO的家鸿口腔的一颗烤瓷牙要多少钱(口腔医院烤瓷牙多少钱一颗)3d烤瓷牙因为具有边缘密合龈缘不发黑等多种优势成为目前的主流项目。既然想要做的人多了,价位也就成为了重要点!做一颗3d烤瓷牙什么价位?打印一颗烤瓷牙加上材料费,费用在1600元起。
非洲动力源官方网站注意事项正确方法适用范围非洲动力源多少钱导读看到,一款风靡朋友圈的产品隆重上市,一种保养品,因此对人体不会造成任何的,帮你远离难言之隐,让你重展,轻而易举。非洲动力源官方网站非洲动力源到底多少钱一瓶一粒一非洲动力现售价官方网站统一正品价订购电话183mdash1088mdash0830(胡经理)威信订购1500mdash1072mdash792(微信优惠)QQ咨询订购200mdash490非洲动力源((售后))官方网站正品销售订购电话183mdash1088mdash0830(胡经理)威信订购1500mdash1072mdash792(微信优惠)QQ咨询订购200mdash490加菲猫为什么不能养(加菲猫最害怕什么)一1。加菲猫其实就是异国短毛猫,是英国短毛猫和波斯猫繁育出来的。加菲猫完全继承了这两种猫咪的优良基因,性格温柔好静,方脸圆眼睛而且是短毛猫哦。2。加菲猫毛发厚实,在换毛的时候都是一大连回应中华田园犬为何属禁养犬近日大连回应中华田园犬为何属禁养犬登录了热搜,也是在网上引起了网友们的关注,那么很多小伙伴可能还不清楚具体的情况如何,小编也是在网上查阅了一些信息,那么接下来就分享给大家来了解下大古牧为什么没什么人养(古牧犬聪明吗)牧羊犬是怎么牧羊的?当然是通过骑羊来确定自己的地位啊!上图纯属开玩笑牧羊犬当然不是凭借着武力来征服羊群的啦!且听我慢慢说来边牧作为号称最聪明的狗狗,容易理解人类的指令,而且乖巧,因福特探险者怎么样(福特探险者优缺点)近几年长安福特改变了产品策略,把产品做到无懈可击,然后在终端少点优惠,主打性价比路线,吸引了不少车友的。比如,锐际,探险者就是很好的例子。今天说的探险者就是一个纯靠实力和在国外市场撼路者怎么样(福特撼路者真实论坛)在国内的汽车市场,SUV一直都是度很高的车型,如今的SUV车型已经覆盖了从几万到几十万的价格区间,车型多到让消费者挑花眼。特别是3040万的中型SUV,更是各大汽车品牌的主战场。豪探路者怎么样(探路者衣服质量怎么样)21世纪经济报道记者张赛男实习生徐蕊上海报道在今年实现实控权变更之后,户外运动服装品牌探路者(300005。SZ)似乎迎来了新局面。10月20日晚间,探路者发布2021年前三季度业福特锐界怎么样(福特锐界故障率排名)曾经福特锐界是和丰田汉兰达销量旗鼓相当的车型,可见其产品实力之强。如今伴随着官降和优惠,它的性价比愈发明显了。今年3月,它的销量还超过了3000辆,可见它那超高的性价比对消费者的吸双闪在哪里(福特锐界双闪在哪里)考科目一的时候已经很明确的说了,路上发生危险需要停的时候都要把危险警报灯打开,也就是俗称的双闪中控台上最显眼的三角形的红色标志。把它按下去我们车子上面六个黄色的景色灯就会一闪一闪的