vi,sed,tr,awk技巧】的更多相关文章

将文件中的换行替换为逗号 使用sed: sed -e :a -e N -e '$!ba' -e 's/\n/,/g' filename 使用tr: cat filename | tr '\n' ',' 或 tr '\n' ',' < filename 将文件中的逗号替换为换行 使用vi: :,%s/,/^M/g ^M - Ctrl+V, Ctrl+M vi 命令功能 :set nu 显示行号 :set nonu 隐藏行号 :set ic 设置搜索时忽略大小写 :set noic 搜索时对大小写敏…
1. vi 2. 正则表达式 3. sed 1)打印命令:p 2)删除命令:d 3)替换命令:s 4. awk 1)awk 基本用途 2)匹配打印 3)判断打印 4)数组 1. vi vi 是 Linux 中的标准文本编辑器.所有的 unix 和类 unix 都会提供 vi 编辑器.在 linux 中还可以使用 vim(vi improved). vi 提供两种模式: 命令模式 用于浏览.删除.剪贴.查找等. 可以用各种命令进入插入模式. 插入模式 用于键入内容. 用 <ESC> 退出插入模式…
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如…
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理. 1.grep 1.1 什么是grep和egrep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红).grep全称是Global…
文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本中每一行后面将有且只有一空行. sed '/^$/d;G' awk '!/^$/{printf("%s\n\n",$0)}' # 在每一行后面增加两行空行 sed 'G;G' awk '{printf("%s\n\n\n",$0)}' # 将第一个脚本所产生的所有空行删…
Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反人类:所以perl,python,ruby等脚本语言相当热火,我倾向用python,但处理一些简单任务python写的还是比较麻烦,无法一行命令解决,直到我发现了它-Pyp! Pyp(Pyed piper)–一个python写的类似sed,awk的文本处理工具,简单优雅而强大~ 安装: ubuntu…
sed and awk 背景 awk起源追溯至sed和grep,进而追溯至共同的行编辑器ed.实用工具grep来源于ed命令:g/re/p .实用工具awk和sed有一个共同的选项-f用于指定脚本的名字:$sed -f scriptfile inputfile ,用大致相同的方法调用sed和awk:command [options] script filename 1.使用行编辑器ed 1)用ed打开文件是,它显示了文件这个的字符个数并定位在最后一行,没有提示符: $ ed tes 339 2…
每次用到正则都要蛋疼一下,索性总结一下在这里. 正则 正則表達式主要分为基础正则和扩展正则.注意,正则和一般命令行输入的命令的通配符不同.正则仅仅使用于支持这样的表示法的工具,如:vi,grep,sed.awk.而ls等命令不支持这样的表示,仅仅能使用bash自身的通配符. 基础部分: [abc] 匹配括号里的一个 [^abc] 匹配非括号里的一个(取反) ^word 以word开头 word$ 以word结尾 [n1-n2] 从n1到n2之间的全部连续字符. 注意:这个连续与否,与ASCII编…
使用awk取某一行数据中的倒数第N列:$(NF-(n-1))比如取/etc/passwd文件中的第2列.倒数第1.倒数第2.倒数第4列(以冒号为分隔符) [root@ipsan-node06 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/…
转自 awk技巧(如取某一行数据中的倒数第N列等) - 散尽浮华 - 博客园 https://www.cnblogs.com/kevingrace/p/8481965.html 使用awk取某一行数据中的倒数第N列:$(NF-(n-1))比如取/etc/passwd文件中的第2列.倒数第1.倒数第2.倒数第4列(以冒号为分隔符) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@ipsan-node06 ~]# c…