沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

Linux四剑客findgrepsedawk

8月28日 楚倾云投稿
  1。find【擅长在目录下找文件】
  find命令用来在指定目录下查找文件
  语法:findpathoption
  进阶:findpathoption〔print〕〔execcommand〕{};
  注意:{}表示查询的结果。1。1常用查询选项option
  name:根据名称匹配
  iname:忽略大小写例如:查找当前目录下以log为结尾的文件:find。namelog
  user:根据所属与的组进行查询例如:查当前路径下,属于sichuan的文件:find。usersichuan
  type:根据类型进行查找f文件find。typefd目录find。typedc字符设备文件find。typecb块设备文件find。typebl链接文件find。typelp管道文件find。typep例如:查当前路径下所有文件find。typef
  size:根据文件大小匹配n小于大小为n的文件n大于大小为n的文件查找ect目录下,小于10000字节的文件findetcsize10000c查找etc目录下,大于1M的文件findetcsize1M
  mindepthn:从第n级目录开始搜索从etc的第三级子目录开始搜索。findetcmindepth3name。conf
  maxdepthn:表示至多搜索到第n1级子目录。在etc中搜索符合条件的文件,但最多搜索到2级子目录。findetctypefname。confsize10kmaxdepthc2
  regex:基于正则表达式匹配文件路径
  iregex:基于正则表达式匹配文件路径(忽略大小写)匹配当前目录下,所有。txt和。pdf文件,用转意find。regex。(。txt。pdf)34;1。2根据时间戳进行搜索
  UNIXLinux文件系统每个文件都有三种时间戳访问时间(atime天,amin分钟):用户最近一次访问时间。修改时间(mtime天,mmin分钟):文件最后一次修改时间。变化时间(ctime天,cmin分钟):文件数据元(例如权限等)最后一次修改时间。
  mtime:根据文件更改时间查找,单位小时nn天以内修改的文件。nn天以外修改的文件。n正好n天修改的文件。
  mmin:根据文件更改时间查找,单位分钟nn分钟以内修改过的文件nn分钟之前修改过的文件查询etc目录下30分钟之前修改过的文件。findetcmmin30查询etc目录下30分钟之内修改过的目录。findetcmmin30typed查询etc目录下,5天以内修改且以conf结尾的文件findetcmtime5name。conf查询etc目录下,10天之前修改,且属于sichuan的文件findetcmtime10usersichuan1。3对查找到的文件如何操作
  print:打印输出。默认的选项,即打印出找到的结果。
  exec:对搜索到的文件执行特定的操作,固定的格式为:execcommond{};注意:{}表示查询的结果。搜索etc目录下的文件(非目录),文件以。conf结尾,且大于10k的文件然后将其删除。findetctypefname。confsize10kexecrmf{};搜索条件同例1一样,但是不删除,只是将其复制到rootconf目录下findetctypefname。confsize10kexeccp{}将datalog目录下以。log结尾的文件,且更改时间在7天以上的删除。finddatalogname。logmtime7
  ok和exec的功能一样,只是每次操作都会给用户提示。
  逻辑运算符
  a:与(默认情况查询条件之间都是与的关系)
  o:或
  not!非或find。(name。txtoname。pdf)find。name。txtoname。pdf找出home下不是以。txt结尾的文件findhome!name。txt1。4xargs
  xargs:可以将一个命令的输出作为参数发送给另一个命令。
  当前目录搜索所有文件,文件内容包含aaa的内容find。typefnamexargsgrepaaa。a。txt:aaa。b。txt:aaa
  统计代码行数代码行数统计,grepv39;过滤空白行wclfind。name。javaxargscatgrepvwcl1。5常用find命令
  查找当前目录下所有。txt文件并把他们拼接起来写入到all。txt文件中find。typefname。txtexeccat{};。all。txt
  将30天前的。log文件移动到old目录中find。typefmtime30name。logexeccp{}
  找出当前目录下所有。txt文件并以File:文件名的形式打印出来find。typefname。txtexecprintfFile:s{};
  因为单行命令中exec参数中无法使用多个命令,以下方法可以实现在exec之后接受多条命令exec。text。sh{};
  要列出所有长度为零的文件find。empty
  扩充:查找关键字出现的行数
  Linuxcat查看文件,查找关键字(grep),统计(wcl)cat查找关键字出现的行数语法:cat文件grep关键字wclcatprocmeminfogrepSwapwclLinux系统中的wc(WordCount)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1命令格式:wc〔选项〕文件。。。2命令参数:c统计字节数。l统计行数。m统计字符数。这个标志不能与c标志一起使用。w统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。L打印最长行的长度。help显示帮助信息version显示版本信息2。grep【擅长在文件中匹配文本】
  grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配的标红)语法:grep〔option〕patternfile简介:常用来做全局数据的查询定位(最擅长文本过滤)
  命令参数:A显示行数:显示匹配行及后面n行内容B显示行数:显示匹配行及前面n行内容C显示行数:显示匹配行及前后n行内容c:统计匹配成功的行数e:实现多个选项间的逻辑or关系。或者使用egrepegreprootbash39;passwdgrepeabceb39;a。txtE:扩展的正则表达,相当于egrepfFILE:从FILE获取PATTERN匹配F:相当于fgrepl:列出文件内容符合指定的范本样式的文件名称。L:列出文件内容不符合指定的范本样式的文件名称i:字符忽略大小写n:显示匹配的行号o:仅显示匹配到的字符串q:静默模式,不输出任何信息s:不显示错误信息。v:显示不被pattern匹配到的行,相当于〔〕反向匹配grepv39;:命令的作用是过滤空白符空白行:w:只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),color:匹配到的关键字会高亮显示和分别标注单词的开始与结尾。(类似模糊查询)grepman会匹配‘Batman’、’manic’、’man’等grep‘man’匹配’manic’和’man’,但不是’Batman’grep‘’只匹配’man’,而不是’Batman’或’manic’等其他的字符串查询关键字高亮显示:grepxxxcolorauto
  举例:cattest。txtaaabbbbbAAAaaaBBBBASDABBDA显示结果及后两行数据grepA2btest。txtbbbbbAAAaaaBBBBASDABBDA统计行数grepcaaatest。txtcattest。txtgrepcaaa2实现多个逻辑or或grepeAAAebbbtest。txtbbbbbAAAaaa忽略大小写并显示行号cata。txtgrepinbbb2:fontcolorredbbbbbfont4:BBBBASDABBDA仅显示匹配到的字符串grepoASDAtest。txtASDA静默模式,不显示grepqaatest。txt取反grepvaaatest。txtbbbbbBBBBASDABBDA匹配整个单词grepwaaaaaa从file获取PATTERN匹配catgrep。txtaaagrepfgrep。txttestaaaAAAaaa使用l选项,找出文件内容中包含first的文件名greplfirst。txt1。txt使用L选项,找出文件内容中不包含first的文件名grepLfirst。txt2。txt3。txt以leo开头的行grepleoetcpasswd以bash结尾的行grepbash39;etcpasswd我们尝试匹配bin这个词(只包含bin比匹配sbin这样的)在正则表达式中,我们通常用尖括号表示一个词etcpasswdcolor2。1grep,cat,管道符配合使用cattest。txtgrephello管道符,将一个命令的输出作为另外一个命令的输2。2grep,ps,管道符配合使用psefgrepsshgrepvgrep过滤ssh进程信息,并去除最后一行的grep信息2。3常用grep命令
  查找xxx目录下所有文件带abc的行grepabchomesichuanliheweiprojectdaquhuagetMd5Infohomesichuanxxxprojectabca。txt:abc123homesichuanxxxprojectabcb。txt:abcd123
  检索日志,并显示该条日志的前后N(10)行记录,并显示行号(n)cat日志文件grepnB10A10关键字
  3。sed【擅长取行】
  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。简介:常用来做行数据增删改查(最擅长取行)格式:sed〔option〕。。。scriptinputfile翻译:sed〔选项〕〔脚本命令〕文件名3。1sed格式说明
  格式:sed〔option〕。。。scriptinputfile
  选项【option】:n不输出模式空间内容到屏幕,即不自动打印e多点编辑fPATHSCRIPTFILE:从指定文件中读取编辑脚本r支持使用扩展正则表达式i直接编辑文件(慎用)i。bak备份文件并原处编辑
  script地址范围(选择第几行)不给地址:对全文进行处理单地址:
  :指定的行,:最后一行
  pattern:被此处模式所能够匹配到的每一行地址范围:
  ,
  ,
  pat1,pat2
  ,pat1:步进
  12奇数行
  22偶数行
  编辑命令:d删除模式空间匹配的行,并立即启用下一轮循环p打印当前模式空间内容,追加到默认输出之后(匹配成功的内容追加到文本最后)a〔〕text1在指定行后面追加文本,支持使用实现多行追加i〔〕text在行前面插入文本c〔〕text表示把选定的行改为新的文本wpathsomefile保存模式匹配的行至指定文件rpathsomefile在指定的行后插入xx文本中所有内容q截止到选定的script地址时命令终止为模式空间中的行打印行号!模式空间中匹配行取反处理s:查找替换,支持使用其它分隔符,s,s
  s替换标记:【flags标记】格式1:sed‘s’example。txt格式2:sed‘s’example。txt数字1512同一行中第几次出现,例如sax2,能匹配上的只有aaa中间的a,数字代表第二次出现g选择的行内全局替换(否则匹配行内第一个)p显示替换成功的行wPATHTOSOMEFILE将替换成功的行保存至文件中用正则表达式匹配的内容进行替换;选中的行内匹配第n个子串,该子串之前在pattern中用()指定。转义(转义替换部分包含:、等)。
  3。2s替换脚本命令
  格式:sed〔addressrangepatternrange〕soriginalstringreplacementstring〔substituteflags〕
  解释:addressrange:地址列表,表示从哪个地方开始执行,如:1,3表示第1行到第3行;patternrange:样式列表,表示从哪个匹配串开始,如:Jane,表示从行中包含字符串Jane的行开始执行s:表示要执行替换命令(substitute);originalstring:需要被替换的字符串;replacementstrings:替换后的字符串;substituteflags:可选替换标志符。
  注意:如果没有〔addressrangepatternrange〕,默认选择全文进行替换d表示删除表示行尾表示开头s空白符正则s表示连续空格的字符串
  案例:【sedscriptinputfile】catexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager1。把第一行的John替换成lili字符串sed1sJohnliliexample。txt101,liliDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager2。把第25行的Manager替换成lilised2,5sManagerliliexample。txt101,JohnDoe,CEO102,JasonSmith,ITlili103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,Salerlili3。把John所在字符串行当中的CEO替换成XXXsedJohnsCEOXXXexample。txt101,JohnDoe,XXX102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager4。从第四行而且包含字符串‘Ram’的行中,把Developer字符串替换成XXXsed4,RamsDeveloperXXXexample。txt101,JohnDoe,XXX102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager5。如果没有addressrange和patternrange,那么就会把每一行碰到的第一个匹配字符串给替换掉seds1AAAexample。txtAAA01,JohnDoe,CEOAAA02,JasonSmith,ITManagerAAA03,RajReddy,SysadminAAA04,AnandRam,DeveloperAAA05,JaneMiller,SalerManager6s后的数字标记1,2,3把要匹行中第n个符合条件的匹配串替换成我们想要的字符串把每一行第二个匹配的1,进行替换seds1AAA2example。txt10AAA,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager7将originstring替换到replacestringsedsJohn〔〕example。txt101,〔John〕Doe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager用文本模式指定行区间grepdemoetcpasswddemo:x:502:502::homeSamantha:binbash用正斜线将要指定的pattern封起来,sed会将该命令作用到包含指定文本模式的行上。在包含demo的行中,进行s替换seddemosbashcshetcpasswdroot:x:0:0:root:root:binbash。。。demo:x:502:502::homedemo:bincsh。。。3。3。g,w,p,a,i,c,y,q,r,f,d脚本命令
  g全局替换g全局标志会把遇到的所有的满足条件的字符串给替换掉seds1AAAgexample。txtAAA0AAA,JohnDoe,CEOAAA02,JasonSmith,ITManagerAAA03,RajReddy,SysadminAAA04,AnandRam,DeveloperAAA05,JaneMiller,SalerManager
  w输出到文本把每行碰到第一个字符串John替换成lili字符串,并写入output。txt中,不写数字默认就是第一个匹配到的seds1AAA1woutput。txtexample。txtcatoutput。txtAAA01,JohnDoe,CEO
  p标记会输出修改过的行3。np(n选项会禁止sed输出,但p标记会输出修改过的行)sedns1AAA2pexample。txt10AAA,JohnDoe,CEO
  a命令追加行(在匹配内容后面追加)catexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager在行尾追加xxxsedaxxxexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManagerxxx在文本匹配处增加多行sedJasonaaaabbbexample。txt101,JohnDoe,CEO102,JasonSmith,ITManageraaabbb103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager
  使用i命令插入行(在匹配内容前面插入)sed2ixxxexample。txt101,JohnDoe,CEOxxx102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager
  使用c命令修改所在行sedJasoncxxxexample。txt101,JohnDoe,CEOxxx103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager
  使用y命令作字符转换cata。txtabcdef1234sedyabcABCa。txtABCdef1234
  使用q命令终止执行示例:sed3qinputfile执行完第3行后终止格式:sedAnandqinputfile匹配到Anand行后退出sed3qexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,SysadminsedJasonqexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager
  r将文件中的内容插入到匹配位置后sed命令会将filename文件中的内容插入到address指定行的后面,比如说:catdata12。txtThisisanaddedline。Thisisthesecondaddedline。sed3rdata12。txtdata6。txtThisislinenumber1。Thisislinenumber2。Thisislinenumber3。Thisisanaddedline。Thisisthesecondaddedline。Thisislinenumber4。如果你想将指定文件中的数据插入到数据流的末尾,可以使用地址符,例如:sedrdata12。txtdata6。txtThisislinenumber1。Thisislinenumber2。Thisislinenumber3。Thisislinenumber4。Thisisanaddedline。Thisisthesecondaddedline。
  f插入并使用sh脚本cattest。txthtmltitleFirstWedtitlebodyh1Helloh1h2Helloh2h3Helloh3bodyhtml使用正则表示式给所有第一个的h1、h2、h3添加,给第二个h1、h2、h3添加catsed。shh〔09〕{12}sedfsed。shtest。txth1Helloh1h2Helloh2h3Helloh3
  d删除脚本命令当和指定地址一起使用时,删除命令显然能发挥出大的功用。可以从数据流中删除特定的文本行。通过行号指定,比如删除data6。txt文件内容中的第3行:catdata6。txtThisislinenumber1。Thisislinenumber2。Thisislinenumber3。Thisislinenumber4。sed3ddata6。txtThisislinenumber1。Thisislinenumber2。Thisislinenumber4。或者通过特定行区间指定,比如删除data6。txt文件内容中的第1、3行:sed2,3ddata6。txtThisislinenumber4。或者通过特殊的文件结尾字符,比如删除data6。txt文件内容中第3行开始的所有的内容:sed3,ddata6。txtThisislinenumber1。Thisislinenumber2。3。4sed实例
  查看某段时间内的日志:sedn‘开始时间日期,结束时间日期p’xx。loggrep包含的关键字sedn‘2018062114:30:20,2018062116:12:00p’log。txtgrep‘keyword’时间里有的要用转意字符转意sedn2022102614:27:16,2022102618:27:16pwrapper。loggrepPOST对日志模糊查询sedn‘2022102421,2022102422p’xx。log日志导出sedn‘2019102422:16:21,2019102120:16:58p’all。logyoyo。log
  将文本的前三位数截取出来,并加上大括号,去掉后面的全部内容catexample。txt101,JohnDoe,CEO102,JasonSmith,ITManager103,RajReddy,Sysadmin104,AnandRam,Developer105,JaneMiller,SalerManager1。正则表达式的()前要加转义符()2。(〔09〕),。解释:以09开头的0个或多个元素逗号。任意字符出现0次或多次3。1解释:1指的是转义括号所捕获的字符seds(〔09〕),。{1}gexample。txtseds(〔09〕),。{1}gexample。txt{101}{102}{103}{104}{105}深入了解echoabcabcabcseds(ab)c1ababcabcechoabcabcabcseds(ab)c1gabababechoabcabcabcseds(ab)(c)1d2gabdcabdcabdc
  去掉注释行和空行(表示空行)i直接编辑文件e多点编辑sedies。g;d
  行首添加1,3行首添加sed1,3sg123452345634567456784。awk【擅长对行按要求切割】4。1wak格式说明
  awk命令也是逐行扫描文件(从第1行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。
  简介:常用来做列数据切分与提取(最擅长取列)
  语法:
  awk〔选项〕脚本命令文件名
  awk〔选项〕匹配规则{执行命令}文件名
  语法解释:
  1。’匹配规则‘:表示从哪个地方开始执行,如:1,3表示第1行到第3行;或者写触发事件:BEGIN、END
  2。整个‘脚本命令’是用单引号括起,而其中的‘执行命令’部分需要用大括号{}
  3。如果没有指定’执行命令‘,则默认会把匹配的行输出;如果不指定’匹配规则‘,则默认匹配文本中所有的行
  选项
  含义
  Ffs
  指定以fs作为输入行的分隔符,awk命令默认分隔符为空格或制表符。
  ffile
  从脚本文件中读取awk脚本指令,以取代直接在命令行中输入指令。
  vvarval
  在执行处理过程之前,设置一个变量var,并给其设备初始值为val。
  举例:
  test。txt有N个空白行,就会输出N个Blankline。awk{printBlankline}test。txt
  以:分割,筛选以root开头,显示结果每行的第一个字段和第七个阻断awkF:root{print1,7}test。txt4。2awk字段变量
  awk的主要特性之一是其处理文本文件中数据的能力,awk在读取一行文本时会用预定义的字段分隔符划分每个数据字段。它会自动给一行中的每个数据元素分配一个变量。
  默认情况下,awk会将行按指定要求切割后分配如下变量:0代表整个文本行;1代表文本行中的第1个数据字段;2代表文本行中的第2个数据字段;n代表文本行中的第n个数据字段。
  在awk中,默认的字段分隔符是任意的空白字符。awk程序读取文本文件,只显示第1个数据字段的值:catdata2。txtOnelineoftesttext。Twolinesoftesttext。Threelinesoftesttext。awk{print1}data2。txtOneTwoThree可以用F选项手动指定例如:awkF{print1}data2。txt4。3awk脚本命令使用多个命令
  awk允许将多条命令组合成一个正常的程序。只要在命令之间放个;分号即可,例如:echoMynameisRichawk{4Cprint0}MynameisChristine也可以分开写awk{4Christineprint0}MynameisChristine
  注意:此例中因为没有在命令行中指定文件名,awk程序需要用户输入获得数据,因此当运行这个程序的时候,它会一直等着用户输入文本,此时如果要退出程序,只需按下CtrlD组合键即可。4。4awk从文件中读取程序
  跟sed一样,awk允许将脚本命令存储到文件中,然后再在命令行中引用,比如:catawk。sh{print1shomedirectoryis6}awkF:fawk。shetcpasswdrootshomedirectoryisrootbinshomedirectoryisbindaemonshomedirectoryissbinadmshomedirectoryisvaradmlpshomedirectoryisvarspoollpd
  注意:在程序文件中,也可以指定多条命令,只要一条命令放一行即可,之间不需要用分号。4。5BEGIN、END关键字
  语法:awk〔BEGIN〕{。。}{。。}〔END{。。}〕file
  BEGIN和END顾名思义,在awk中,BEGIN只在开始处理之前运行一次,END只在结束处理之后运行一次,非常适合用在做一些前置操作时使用,通常求和类初始化值、设定分隔符等经常会用。
  和BEGIN关键字相对应,END关键字允许我们指定一些脚本命令,awk会在读完数据后执行它们,例如:catdata3。txtLine1Line2Line3awkBEGIN{printThedata3FileContents:}{print0}data3。txtThedata3FileContents:Line1Line2Line31。求和awkBEGIN{sum0}{sum1}END{printsum}file2。求均值awkBEGIN{sum0}{sum1}END{printsumNR}fileNR为总记录数3。求最大值awkBEGIN{max0}{if(1max)max1}END{printmax}
  可以看到,当awk程序打印完文件内容后,才会执行END中的脚本命令。
  举例:统计文件行数awkEND{printNR}file。。。4。6awk内置变量
  awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。ARGC命令行参数个数ARGV命令行参数排列ENVIRON支持队列中系统环境变量的使用FILENAMEawk浏览的文件名FNR浏览文件的记录数FS设置输入域分隔符,等价于命令行F选项NF浏览记录的域的个数(切割)NR已读的记录数OFS输出域分隔符ORS输出记录分隔符RS控制记录分隔符
  实例:统计etcpasswd:文件名,每行的行号,每行的列数,对应的完整行内容:awkF:{printfilename:FILENAME,NR:NR,NF:NF,linecontent:0}etcpasswdfilename:etcpasswd,NR:1,NF:7,linecontent:root:x:0:0:root:root:binbashfilename:etcpasswd,NR:2,NF:7,linecontent:daemon:x:1:1:daemon:usrsbin:binshfilename:etcpasswd,NR:3,NF:7,linecontent:bin:x:2:2:bin:bin:binshfilename:etcpasswd,NR:4,NF:7,linecontent:sys:x:3:3:sys:dev:binsh使用printf替代print,可以让代码更加简洁,易读awkF:{printf(filename:s,linenumber:s,columns:s,linecontent:s,FILENAME,NR,NF,0)}etcpasswd
  注意:命令结尾的路径是绝对路径打印以分隔后,数量5的第一段字符awkFNF5{print1}test看命令自己翻译awkFNF4NF5{print1}test4。7awk自定义变量和赋值
  除了awk的内置变量,awk还可以自定义变量。统计etcpasswd的账户人数,0打印一整行awk{print0;}END{printusercountis,count}etcpasswdroot:x:0:0:root:root:binbash。。。。。。usercountis40
  count是自定义变量。之前的action{}里都是只有一个print,其实print只是一个语句,而action{}可以有多个语句,以;号隔开。这里没有初始化count,虽然默认是0,但是妥当的做法还是初始化为0awkBEGIN{count0;print〔start〕usercountis,count}{countcount1;print0;}END{print〔end〕usercountis,count}etcpasswd〔start〕usercountis0root:x:0:0:root:root:binbash。。。〔end〕usercountis40
  统计某个文件夹下的文件占用的字节数lslawkBEGIN{size0;}{sizesize5;}END{print〔end〕sizeis,size}〔end〕sizeis8657198如果以M为单位显示:lslawkBEGIN{size0;}{sizesize5;}END{print〔end〕sizeis,size10241024,M}〔end〕sizeis8。25889M
  注意:lsl,会罗列出所有文件的信息,默认以空格分个,5正好是字节大小。统计不包括文件夹的子目录5。regex
  正则就是用有限的符号,表达无限的序列
  5。1匹配字符。匹配任意单个字符,不能匹配空行〔〕匹配指定范围内的任意单个字符,〔09azAZ〕、〔azAZ〕、〔AZ〕、〔az〕〔09〕以09开头〔09〕以09结尾〔〕取反
  5。2配置次数匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配。任意长度的任意字符,不包括0次?匹配其前面的字符0或1次匹配其前面的字符至少1次{n}匹配前面的字符n次{m,n}匹配前面的字符至少m次,至多n次{,n}匹配前面的字符至多n次{n,}匹配前面的字符至少n次
  注意:{}在正则表达式中需要转意,而{}()不需要。
  5。3出现位置行首锚定,用于模式的最左侧行尾锚定,用于模式的最右侧PATTERN,用于模式匹配整行空行〔〔:space:〕〕。空白行或b词首锚定,用于单词模式的左侧或b词尾锚定;用于单词模式的右侧
  5。4转意字符
  是转移字符,其后面的字符会代表不同的意思,常用的转意字符:
  转移字符
  含义
  匹配换行符
  r
  匹配回车符
  匹配制表符
  w
  匹配任意一个数字、字母、下划线
  W
  匹配非数字、字母、下划线的任意一个字符(特殊字符)
  d
  匹配数子字符09
  D
  匹配非数字字符!09
  匹配
  5。5选择表达式
  正则中用来表示分组,ab表示匹配a或者b的意思123456789匹配123或456或789
  5。6分组与引用
  引用的语法是数字,数字代表引用前面第几个捕获分组(括号中的匹配),注意非捕获分组不能被引用
  表示转意字符(〔az〕)1可以匹配spanspan或等
  实例:catc。txtabcabccabcccabccccaaaacyyycc?匹配其前面的字符0或1次(匹配的是ABC出现的次数)grepabc?c。txtabcabccabcccabccccabccccc匹配其前面的字符至少1次(匹配的是ABC出现的次数)grepabcc。txtabcabccabcccabccccabcccccgrepcc。txtabcabccabcccabccccabcccccacyyycc前面字符至少出现过3次grepc{3,}c。txtabcccabccccabccccc以a开头grepac。txtabcabccabcccabccccabcccccaaaac以c结尾grepc34;c。txtabcabccabcccabccccabcccccacyyycc匹配y开头,c结尾的字符是转意字符grepy。c。txtyyycc
投诉 评论 转载

女人大概到了多少岁才开始衰老?衰老对于人类来说还是一个比较可怕的现象,尤其是对于女人来说,衰老意味着失去了美丽的容颜,失去了青春的气息。然而对于女人多少岁开始衰老这个并没有明确的表示。按照医学观点来看,女人……南京景点褒贬不一,哪些真正值得一去?南京旅游景点众多,但口碑呈现两极化有些物超所值,有些徒有虚名。今天馨姐就带大家走进南京,帮你排除那些既贵又坑的景点。1、钟山风景区:钟山风景区是南京乃至全国名……深汕特别合作区首个10千伏屋顶分布式光伏顺利并网南方财经全媒体记者林典驰深圳报道春风拂面,万里无云,深汕特别合作区鹅埠镇盛腾科技有限公司的屋顶上,一片片光伏板正肆意享受着日光浴。这里是特别合作区首个10千伏屋顶分布式光……Linux四剑客findgrepsedawk1。find【擅长在目录下找文件】find命令用来在指定目录下查找文件语法:findpathoption进阶:findpathoption〔print〕〔ex……中国人在俄罗斯建大棚,挡住了当地社会大哥的财路,他会有危险吗头条创作挑战赛阅读摘要丨安徽淮北人赵耀祖,在俄罗斯建蔬菜大棚,蔬菜一上市,立即占领了当地的市场,但是,他这样就把原来蔬菜经销商的财路给断了,那个经销商在当地还有一定势力,……局势或失控,朝鲜要求做好核打击美韩准备,我军先已开始实弹演习2023年的世界,一点也不太平,中国促成沙伊复交之后,中东地区的局势出现了明显的缓和迹象,但美国及其盟友依然不断在全世界制造事端。近日美国与韩国在朝鲜半岛周边举行了大规模……代表委员回基层中国石化中原油田党委书记张庆生,是今年新当选的全国人大代表,全国两会一结束,他第一时间把大会精神传递给油田职工,积极创新体制机制,在氢能等领域开辟新赛道。全国人大代表中国……中国慈展会TIFP公益新力量计划以新锐之声,引时代共鸣在乡村,如何花一块钱喝上安全水?乡村振兴之路该怎么走?怎么真正实现残障人士就业平等?国潮是不是乡村传统文化出圈的唯一选择?2020年第八届慈展会启动TIFP公益新力量计划……清史人物志嘉庆若非生错时代,他定会是一代明君历史开讲在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持。在古代封建王朝,皇帝作为至高无上的统治者,受国民崇敬与朝拜,……今晚历史性一步,人民币汇率暴涨,央行也送来利好!本周大A五连跌,走的大失所望。尤其今天这个日子,还收在几乎最低点,可见空头是多么嚣张!外资跑了53亿,内资砸盘近500亿,这帮资金真靠不住。个股更是惨烈,只有700多上涨……福建小伙娶格鲁吉亚美女为妻子,回娘家岳父岳母和女婿促膝长谈!她叫梦露和美国性感女神的名字一样,不过她来自格鲁吉亚,她有着大大的眼睛、高高的鼻梁和精致的脸庞,一头黑色的秀发,看着很是迷人。就是这样美丽的一位女孩,被来自中国福建的帅小……世上再无厉以宁这是第5082篇原创首发文章字数6k何志毅文关注秦朔朋友圈ID:qspyq20152023年3月7日上午,厉以宁老师的遗体告别仪式,在八宝山革命公墓大礼堂举行。随后……
溥仪从小有个坏习惯,奶娘羞以启齿,宫女太监都得回避微笑妈妈定档安徽卫视,王雅捷宋佳伦主演,家庭剧,收视大剧倚天后传黄衫女生下八子,两个是陈友谅的儿子,六个是张无忌的年龄56,面容36,精致的李少莉官运亨通,难道是美色交易而成互联网裁员风暴中,这些数据岗位的人员最容易被优化,警惕张学良的三位副官,都成为开国将军,有一人是上将,活106岁党代表说丨周宇坤以人民安全为宗旨筑牢消防安全基石海韵教育丨表内乘除法作业设计说说塞北延安黑龙江的北安为何古人将重瞳视为帝王之相?第一次当项目经理,总包单位的。组织开会应该说些啥,安全进度质广西哪所大学比较出名?出过哪位名人?卡丁车在哪里(和平精英蹦蹦车在哪个地图)内裤码适合多大腰如何测量自己的衣服尺码蔡依林不发声不表态,央视删除其相关动态!或将与田馥甄一个下场科学活动教案乡村的美丽风景护士的年度总结用冷水洗脸好吗?洗脸用冷水还是热水妈妈的爱社会汉语言文化水平弱化问题分析论文这两个原因是导致宝宝窒息的原因,妈妈需警惕十大世界最长的河流排名最长河流是尼罗河中国五条上北大天才少年,拒麻省理工offer后遁入佛门11年后他还好吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找