首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用awksed获取文件奇偶数行方法总结

如果使用两个文件filname1.ext filname2.ext,则就会看到差别了。...原来:FNR,是每个文件,换了一个文件,会归零;而NR则每个文件会累加起来 7) 使用简单样式来输出 下面表示"行号占用5位,不足补空格" [root@localhost ~]# awk '{...9) 计算行数:效果类似wc -l END表示每行都处理完了后,执行,此时NR就是最后一行行号,也就是总行数了。...#awk 'END { print NR }' test.file 10) 计算每一行和 s用作每行和累加,从1到NF(每行总字段数),依次累加 # awk '{ s = 0; for...,尽在最后输出,field作为每行最后一行暂存变量 # awk '{ field = $NF }; END { print field }' test.file 19) 显示字段数小于4行 #

1.3K40

如何用命令行将文本每两行合并为一行

答案: 使用 awk 命令 awk 'NR%2{printf "%s, ",$0;next;}1' yourFile 是一个使用awk工具对名为yourFile文件进行操作命令。...这个过程会一直重复,直到文件最后一行。 最终效果是将yourFile中每相邻两行合并为一行,中间以逗号和空格分隔。...sed 'N;s/\n/, /' yourFile 是对名为 yourFile 文件使用 sed 工具进行操作命令。...在这里,它代表了由 N 命令引入临时缓冲区中当前行与下一行之间分隔符。 /, / 指定了要替换 \n 内容,即逗号后跟一个空格(,)。这表示将两行之间换行符替换为逗号和空格连接字符串。...综上所述,此 sed 命令作用是: 对于 yourFile 中一行,首先使用 N 命令将其与下一行合并为一个临时缓冲区,两者之间以换行符分隔; 然后应用 s/\n/, / 命令,将临时缓冲区中换行符替换为逗号和空格连接字符串

14210
您找到你想要的搜索结果了吗?
是的
没有找到

Linux入门学习笔记二

sedawk都是流式编辑器,是针对文档行来操作 语法:sed 参数 文件 -e command,–expression=command 直接在指令列模式上进行 sed 动作编辑;。...但如果加上 -n 参数后,则只有经过sed 特殊处理一行(或者动作)才会被列出来 -f,–file=script-file 以选项中指定script文件来处理输入文本文件。...除了可以使用 ‘/’ 作为分隔符外,还可以使用其他特殊字符例如 ‘#’ 或者 ‘@’ 都没有问题 案例 显示 sed -n '1,2p' test.txt ##显示一二两行,逗号间隔^表示开通$表示结尾...新增(目前一行) sed '1,2a sdg' test.txt ## 一二两行添加一行sgd 删除 sed -n '1,2d' test.txt ##显示一二两行,逗号间隔^表示开通$表示结尾...' test.txt ##文件ab中最后一行直接输入"bye" 查询 sed -n '/关键字/p' test.txt 删除匹配行 sed -i '/匹配字符串/d' filename (注:

83110

Shell四剑客实操案例

Shell编程工具中,四剑客工具使用更加广泛,Shell编程四剑客包括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大提升。...如果用户希望某个条件下脚本中某个命令被执行,或者希望模式空间得到保留以便下一次处理,都有可能使得sed处理文件时候不按照正常流程来进行。这时可以使用SED高级语法来满足用户需求。...jfedu.txt每行后加入空行,也即每行占永两行空间,每一行后边插入一行空行、两行空行及前三行每行后插入空行: sed ‘/^$/d;G’ jfedu.txtsed ‘/^$/d;G;G’ jfedu.txtsed...x;G;}’ jfedu.txt jfedu.txt每行后加入空行,也即每行占永两行空间,每一行后边插入空行: sed ‘/^$/d;G’ jfedu.txt jfedu.txt每行后加入空行,...也即每行占永两行空间,每一行后边插入空行: sed ‘/^$/d;G’ jfedu.txt jfedu.txt每行前加入顺序数字序号、加上制表符\t及.符号: sed = jfedu.txt| sed

2.1K21

Linux下文本处理“三剑客”

linux下常用grep、awksed对文本进行处理,下面一一简单总结介绍下基础用法。...但如果加上 -n 参数后,则只有经过sed 特殊处理一行(或者动作)才会被列出来 -f,–file=script-file 以选项中指定script文件来处理输入文本文件...除了可以使用 ‘/’ 作为分隔符外,还可以使用其他特殊字符例如 ‘#’ 或者 ‘@’ 都没有问题 案例 显示 sed -n '1,2p' test.txt ##显示一二两行,逗号间隔^表示开头$表示结尾...新增(目前一行) sed '1,2a sdg' test.txt ## 一二两行添加一行sgd 删除 sed -i '/匹配字符串/d' filename (注:若匹配字符串是变量,则需要...) sed -i '$a bye' test.txt ##文件ab中最后一行直接输入"bye" 查询 sed -n '/关键字/p' test.txt awk AWK是一种处理文本文件语言,是一个强大文本分析工具

1K30

《Linux与unix Shell编程指南》 总结

sedawk和grep都很适合用管道,特别是简单一行命令中。在下面的例子中, who命令输出通过管道传递给awk命令,以便只显示用户名和所在终端。...d' sed -n '1!G;h;$p' awk '{A[i++]=$0} END{for (j=i-1;j>=0;j--) print A[j]}' 6、将每两行连接为一行 sed '$!...sed '/^$/d;G' # 一行后面增加两行空行 sed 'G;G' # 将第一个脚本所产生所有空行删除(即删除所有偶数行) sed 'n;d' # 匹配式样“regex”行之前插入一空行....//' # 将每两行连接成一行(类似“paste”) sed '$!...∗\n\1$/\1/; t; D' # 删除文件中开头10行 sed '1,10d' # 删除文件最后一行 sed '$d' # 删除文件最后两行 sed 'N;$!P;$!

5.5K30

linux学习第二十六篇:正则介绍,grep,sedawk命令

-B :后跟一个数字,例如 –B2 则表示打印符合要求行以及上面两行 -C :后跟一个数字,例如 –C2 则表示打印符合要求行以及上下各两行 PS:正则表达式中, “^” 表示行开始,...test.txt 20行到末行最前面加 ‘aaa:’ ? awk命令 上面也提到了awksed一样是流式编辑器,它也是针对文档中行来操作一行一行去执行。...: sed ‘s/[A-Z]/\l&/g’ filename sed文件中某一行最后添加一个数字 ?...用sed打印1到100行包含某个字符串sed -n ‘1,100{/abc/p}’ 1.txt awk用print打印特殊字符,awk使用脱义字符\是起不到作用,要使用‘“ ”’组合...NR=FNR表示读是第一个文件,比如读到第一行NR=1,FNR也=1,也就是说第一个文件时候NR始终是等于FNR,直到读第二个文件一行时候NR是等于5,而此时NFR=1,所以NR>NFR

3.8K60

awksed、grep

sed 文件处理命令 包括增加、删除、打印、替换行内容 a :新增, a 后面可以接字串,而这些字串会在新一行出现(目前一行)~ c :取代, c 后面可以接字串,这些字串可以取代 n1...,n2 之间行!...应用案例 案例一 sed -e 4a\newline testfile #使用sed 第四行后添加新字符串 nl /etc/passwd | sed '2a drink tea' ## 第二行末尾添加内容...\ # 第二行后面加入两行字,'\'符号 案例二undefinednl /etc/passwd | sed '2,5d' 案例三undefined将第2-5行内容取代成为『No 2-5 number...#查找文件名中包含 test 文件中不包含test 行,此时,使用命令为 grep –e "正则表达式" 文件名 grep 除了可以查找单个文件中匹配模式,也可以目录中包含特定字符文件查找匹配模式

1.2K30

Linux常用命令

head -2 1.txt | cut -c 5 截取1.txt文件两行第五个字符 head -2 1.txt | cut -d ‘:’ -f 1,2 截取1.txt文件两行 以:分割 显示...split -b 10k 文件 将大文件切分成若干10KB文件 split -l 1000 文件 将大文件切分成若干1000行 文件 Awk 命令 awk ‘/zhangsan|lisi/’ score.txt...nl 01.txt | sed -e '1,3d’ 保留1.txt中前4行数据,并显示行号 nl 01.txt | sed -e '5,$d’ 01.txt第二行后添加aaaaa,并显示行号 nl...01.txt | sed -e '2a aaaaa’ 1.txt第1行前添加bbbbb,并显示行号 nl 01.txt | sed -e '1i bbbbb’ 把1.txt中nologin替换成为...01.txt文件中第2、3行替换为aaaaaa sed -i -e ‘2,3c aaa’ 01.txt 删除01.txt中前2行数据,并且删除原文件数据 sed -i -e ‘1,2d’ 01.

1.3K30

shell文本处理工具sed、cut、awk

不打印模式空间中内容,而是仅打印和sed命令匹配内容 -i 直接对源文件进行修改(慎用) 动作说明: a :新增, a 后面可以接字串,而这些字串会在新一行出现(目前一行)~ c :...| sed '2i drink tea' 第二行后面加入两行使用\可以一次加多行,每一行之间都必须要以反斜杠 \ 来进行新行标记 nl testfile |sed '2a drink tea or...testfile 第三行到末尾数据 nl testfile | sed -e '3,$d' -e 's/HELLO/RUNOOB/' cut cut 工作就是“剪”,具体说就是文件中负责剪切数据用...第2列:"$2}' /tmp/hosts 正则 awk 可以使用正则 搜索 passwd 文件,以:分隔,输出以 a 字母开头所有行 [admin@ datas]$ awk -F ':' '/...1 列和第 6 列,以--分割,且开头第一行上面添加一行列名“1 列”“6 列”,以--分隔,最后一行下面添加一行内容"这是所有的以 a 开头 1、6 两列"。

52720

Linux系统开发: 学习linux三剑客(awksed、grep)(上)

一、前言 Linux中三个命令awksed、grep在业界被称为“三剑客”,grep擅长查找,sed擅长取行和替换,awk擅长运算。....txt #或者直接使用-E参数指定使用正则表达式,则可不加转义 $ grep "[1-3][1-3]" 123.txt #与上面相同效果,也表示123.txt中查找1-3之间数字出现两次内容...接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件反复操作;编写转换程序等。...ls | sed 's/$/666_&/g' #表示给当前文件文件名统一添加后缀 $ ls | sed 's/\w\+/666_&/g' #表明给所有的单词添加前缀 $ ls | sed...grep查找到内容第1行后每次隔两行一行 $ sed '/^$/d' 123.txt #删除空白行 指定行前后插入内容 需用到命令:a\ 在当前行下面插入文本。

9.1K20

sed 使用教程 - 通读篇(30分钟入门系列)

简介 sed使用及常见参数 sed使用例子积累 修改: sed基本语法和操作原理 和awk一样是个堪称文本处理神奇,本篇主要总结下sed运行原理,和我们日常工作中90%运用场景,难需求和奇葩需求需要根据这些简单原理可以自己去挖掘...如果你遇到一下场景,可以考虑使用sed 配置文件模板具体环境需要用脚本替换配置,这一般运用在部署脚本上,根据当前环境配置信息对配置文件一些配置信息进行替换; 批量替换和处理一些文本信息; 格式化文本内容...,这个可以和awk配合使用。...发现这个和awk命令一模一样,现在理解起来也比较容易,sed命令常见参数如下: -n 默认情况下,模式空间中内容处理完成后将会打印到标准输出,该选项可以让其不打印,相当于静默模式; -e 指定要执行命令...命令基础格式 sed处理文件既可以由标准输入重定向得到,也可以当命令行参数传入,命令行参数可以一次传入多个文件sed会依次处理,编辑命令基础格式其实和awk很像,依然是由 pattern 和 action

4.1K240

linux运维中命令梳理(三)

地址是逗号分隔,那么需要处理地址是这两行之间范围(包括这两行在内)。...sed命令文件 使用重定向文件即可保存sed输出 使用sed文本中定位文本方式: x x为一行号,比如1 x,y 表示行号范围从x到y,如2,5表示从第...awk语言最基本功能是文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整awk脚本通常用来格式化文本文件信息。 通常,awk是以文件一行为处理单位。...input-file(s) 是待处理文件awk中,文件一行中,由域分隔符分开每一项称为一个域。通常,不指名-F域分隔符情况下,默认域分隔符是空格。...,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,最后一行添加"blue,/bin/nosh"。

7.9K81

shell脚本扩展「建议收藏」

第二行前增加“XXXXX”字样新行 如果要同时新增多行,则每行之间要用反斜杠\来进行新行添加 4、取代行:c命令 c后面可以接字符串,这些字符串可以取代n1,n2之间行 5、打印:p命令...B、使用sed脚本文件,格式为: sed [选项] -f sed脚本文件 输入文件 C、要使用一行具有sed命令解释器sed脚本文件,其格式为: sed脚本文件 [选项] 输入文件 不管是使用shell...iput_files可以是多于一个文件文件列表,awk将按顺序处理列表中每个文件awk中,文件一行中,由域分隔符分开每一项称为一个域。.../passwd文件用户名和登录shell, 而账户与shell之间以逗号分割 注:awk总是输出到标准输出,如果想让awk输出到文件,可以使用重定向。...例3:如果只是显示/etc/passwd文件UID大于500用户名和登录shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,最后一行添加”blue,/bin/

5.7K20

常用 linux 命令集锦

sed 's/^/添加头部&/g'      #在所有行首添加 sed 's/$/&添加尾部/g'      #在所有行末添加 sed '2s/原字符串/替换字符串/g'...多个替换可以同一条命令中执行,用分号";"分隔,其格式为: # 同时执行两个替换规则 sed 's/^/添加头部&/g;s/$/&添加尾部/g' awk: awk语言最基本功能是文件或者字符串中基于指定规则浏览和抽取信息...通常,awk是以文件一行为处理单位awk每接收文件一行,然后执行相应命令,来处理文本。 相对于grep查找,awk强在对文本分析处理。...input-file(s) 是待处理文件awk中,文件一行中,由域分隔符分开每一项称为一个域。通常,不指名-F域分隔符情况下,默认域分隔符是空格。...之间以逗号分割,而且在所有行添加列名name,shell,最后一行添加"blue,/bin/nosh"。

4.4K10
领券