linux输入写入文件命令,linuxtee命令参数及用法详解---读取输入写入文件...

linux输入写入文件命令,linuxtee命令参数及用法详解---读取输入写入文件...

2023年7月10日发(作者:)

linux输⼊写⼊⽂件命令,linuxtee命令参数及⽤法详解---读取输⼊写⼊⽂件awk命令简介在shell命令或编程中,可以⽤AWK强⼤的的⽂本处理能⼒。如果要格式化报⽂或从⼀个⼤的⽂本⽂件中抽取数据包,那么awk可完成这些任务。awk是⼀种解释的编程语⾔。awk也是shell过滤⼯具中最难掌握的。awk是⼀种⾃解释的编程语⾔。结合awk和sed和grep,将会使awk编程更加容易。awk语⾔最基本的功能是在⽂件或字符串中基于指定的规则浏览和抽取信息。有三种⽅式可调⽤awk.<1>.命令⾏⽅式。<2>.将所有的awk命令插⼊⼀个⽂件,并利⽤chmod使awk⽂件成为执⾏。<3>.将所有的awk命令插⼊⼀个单独⽂件,然后调⽤。以下简单介绍awk的各种⽅式,详细请查看相关另外⽂档在awk中有四种概念。1.抽取域3.⽐较域4.向awk传递参数以下简单介绍:1).保存awk输出: #awk '{print $0}' myfile>newfile2).使⽤tee,在输出到⽂件的同时输出到屏幕(利⽤管道'|')#awk '{print $0}' myfile |tee newfile3).打印报告头,#awk 'BEGIN {print hello,this is Titlen---------}{print $0}' newfile4).打印信息尾.#awk 'BEGIN{print $0} END {end of file.}' myfile5).匹配,如下若在myfile第⼆列中带有BROWN,则打印信息#awk '{if ($2~/BROWN/) print $0}' myfile6).精确匹配,同上,只是将~改为==7).不匹配,有时要浏览信息并抽取不匹配操作的记录,与~相反的符号是!,如下#awk '$0 !~/BROWN/' myfile8).⽐较如⼩于: #awk 'if ($19).设置⼤⼩写 #awk '[Gg]reen/' myfile10).任意字符,表达式/^...a/意为前三个字符是任意字符//-------------------------------------------------------linux tee 命令详解功能说明:读取标准输⼊的数据,并将其内容输出成⽂件。语  法:tee [-ai][--help][--version][⽂件...]补充说明:tee指令会从标准输⼊设备读取数据,将其内容输出到标准输出设备,同时保存成⽂件。参  数:-a或--append  附加到既有⽂件的后⾯,⽽⾮覆盖它.-i-i或--ignore-interrupts  忽略中断信号。--help  在线帮助。--version  显⽰版本信息。//--------------------------------------------------------------------------------------Sed 命令列可分成编辑指令与⽂件档部份。其中 , 编辑指令负责控制所有的编辑⼯作 ; ⽂件档表⽰所处理的档案。sed 的编辑指令均由位址(address)与函数(function)两部份组成 , 其中 , 在执⾏时 , sed 利⽤它的位址参数来决定编辑的对象;⽽⽤它的函数参数(解[3])编辑。此外 , sed 编辑指令 , 除了可在命令列上执⾏ , 也可在档案内执⾏。其中差别只是在命令列上执⾏时 , 其前必须加上选项 -e ; ⽽在档案(解[4])内时 , 则只需在其档名前加上选项 -f。另外 , sed 执⾏编辑指令是依照它们在命令列上或档内的次序。下⾯各节 , 将介绍执⾏命令列上的编辑指令 、sed 编辑指令、执⾏档案内的编辑指令、执⾏多个档案的编辑、及执⾏ sed 输出控制。2.1 执⾏命令列上的编辑指令2.2 sed 编辑指令2.3 执⾏档案内的编辑指令2.4 执⾏多个档案的编辑2.5 执⾏ sed 输出控制2.1.执⾏命令列上的编辑指令当编辑指令(参照[section 2.2])在命令列上执⾏时 , 其前必须加上选项 -e 。其命令格式如下 :sed -e '编辑指令1' -e '编辑指令2' ... ⽂件档其中 , 所有编辑指令都紧接在选项 -e 之後 , 并置於两个 ' 特殊字元间。另外 , 命令上编辑指令的执⾏是由左⽽右。⼀般编辑指令不多时 , 使⽤者通常直接在命令上执⾏它们。例如 , 删除 内 1 ⾄ 10 ⾏资料 , 并将其馀⽂字中的 yellow 字串改成 black 字串。此时 , 可将编辑指令直接在命令上执⾏ , 其命令如下 :sed -e '1,10d' -e 's/yellow/black/g' 在命令中 , 编辑指令 '1,10d'(解[5])执⾏删除 1 ⾄ 10 ⾏资料 ; 编辑指令 's/yellow/black/g'(解[6]) ,yellow 字串替换(substuite)成 black 字串。2.2 sed 的编辑指令sed 编辑指令的格式如下 :[address1[,address2]]function[argument]其中 , 位址参数 address1 、address2 为⾏数或 regular expression 字串 , 表⽰所执⾏编辑的资料⾏ ; 函数参数 function[argument] 为 sed 的内定函数 , 表⽰执⾏的编辑动作。下⾯两⼩节 , 将仔细介绍位址参数的表⽰法与有哪些函数参数供选择。2.2.1 位址(address)参数的表⽰法实际上 , 位址参数表⽰法只是将要编辑的资料⾏ , ⽤它们的⾏数或其中的字串来代替表⽰它们。下⾯举⼏个例⼦说明(指令都以函数参数 d(参照[section4.2]) 为例) :删除档内第 10 ⾏资料 , 则指令为 10d。删除含有 man 字串的资料⾏时 , 则指令为 /man/d。删除档内第 10 ⾏到第 200 ⾏资料, 则指令为 10,200d。删除档内第 10 ⾏到含 man 字串的资料⾏ , 则指令为 10,/man/d。接下来 , 以位址参数的内容与其个数两点 , 完整说明指令中位址参数的表⽰法(同样也以函数参数 d 为例)。位址参数的内容:位址为⼗进位数字 : 此数字表⽰⾏数。当指令执⾏时 , 将对符合此⾏数的资料执⾏函数参数指⽰的编辑动作。例如 ,删除资料档中的第 15 ⾏资料 , 则指令为 15d(参照[section4.2])。其馀类推 ,如删除资料档中的第 m ⾏资料 , 则指令为 md 。位址为 regular expression(参照[附录 A]):当资料⾏中有符合 regular expression 所表⽰的字串时 , 则执⾏函数参数指⽰的编辑动作。另外 , 在regular expression 前後必须加上 /。例如指令为 /t.*t/d , 表⽰删除所有含两 t 字母的资料⾏。其中 , .表⽰任意字元; * 表⽰其前字元可重任意次 , 它们结合 .* 表⽰两 t 字母间的任意字串。位址参数的个数 : 在指令中 , 当没有位址参数时 , 表⽰全部资料⾏执⾏函数参数所指⽰的编辑动作; 当只有⼀位址参数时 , 表⽰只有符合位址的资料⾏才编辑 ; 当有两个位址参数 , 如 address1,address2 时 , 表⽰对资料区执⾏编辑 , address1 代表起始资料⾏ , address2 代表结束资料⾏。对於上述内容 , 以下⾯例⼦做具说明。例如指令为d其表⽰删除档内所有资料⾏。例如指令为5d其表⽰删除档内第五⾏资料。例如指令为1,/apple/d其表⽰删除资料区 , 由档内第⼀⾏⾄内有 apple 字串的资料⾏。例如指令为/apple/,/orange/d其表⽰删除资料区 , 由档内含有 apple 字串⾄含有 orange 字串的资料⾏2.2.2 有那些函数(function)参数下页表中介绍所有 sed 的函数参数(参照[chapter 4])的功能。函数参数 功能: label 建⽴ script file 内指令互相参考的位置。# 建⽴解{ } 集合有相同位址参数的指令。! 不执⾏函数参数。= 印出资料⾏数( line number )。a 添加使⽤者输⼊的资料。b label 将执⾏的指令跳⾄由 : 建⽴的参考位置。c 以使⽤者输⼊的资料取代资料。d 删除资料。D 删除 pattern space 内第⼀个 newline 字母 前的资料。g 拷贝资料从 hold space。G 添加资料从 hold space ⾄ pattern space 。h 拷贝资料从 pattern space ⾄ hold space 。H 添加资料从 pattern space ⾄ hold space 。l 印出 l 资料中的 nonprinting character ⽤ ASCII 码。i 插⼊添加使⽤者输⼊的资料⾏。n 读⼊下⼀笔资料。N 添加下⼀笔资料到 pattern space。p 印出资料。P 印出 pattern space 内第⼀个 newline 字母 前的资料。q 跳出 sed 编辑。r 读⼊它档内容。s 替换字串。t label 先执⾏⼀替换的编辑指令 , 如果替换成⽜p>则将编辑指令跳⾄ : label 处执⾏。w 写资料到它档内。x 交换 hold space 与 pattern space 内容。y 转换(transform)字元。虽然 , sed 只有上表所述⼏个拥有基本编辑功能的函数 , 但由指令中位址参数和指令与指令间的配合 , 也能使sed 完成⼤部份的编辑任务。2.3 执⾏档案内的编辑指令当执⾏的指令太多 , 在命令列上撰写起来⼗分混乱 , 此时 , 可将这些指令整理储存在档案(譬如档名为 script_file )内 , ⽤选项 -f script_file , 则让 sed 执⾏ script_file 内的编辑指令。其命令的格⽰如下 :sed -f script_file ⽂件档其中 , 执⾏ script_file 内编辑指令的顺序是由上⽽下。例如上⼀节的例⼦ , 其可改成如下命令:sed -f 其中 , 档的内容如下 :1,10ds/yellow/black/g另外 , 在命令列上可混合使⽤选项 -e 与 -f , sed 执⾏指令顺序依然是由命令列的左到右, 如执⾏⾄ -f 後档案内的指令 , 则由上⽽下执⾏。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688986356a191828.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信