shell脚本 5 sed和awk】的更多相关文章

文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk 支持 egrep 所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE.如果不加-r 使用花括号要加转义符\{\} sed详解 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑…
sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 f是文件 d是目录 r可读 w可写 x可执行 if判断/case if[条件判断];then ... elif[条件判断];then ... else ... fi; case $变量 in "value") .... ;; *) ... ;; 循环 while/util while(un…
在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. 二.sed的处理过程 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每…
简单使用: awk :对于文件中一行行的独处来执行操作 . awk -F :'{print $1,$4}'   :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 . 详细介绍: AWK命令介绍 awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 1.   调用awk: 第一种命令行方式,如: awk [-Field-separator] 'commands' input-file(s)…
sed替换的基本语法为:----s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 代码如下: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线"\"进行转义,但是单引号"'"是没有办法用反斜线"\"转义的,这时候只要把命令中的单引号改为双引号就行了,例如: 代码如下: sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号…
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> test.sql #将test.sql文件中的每一行最后的符号“,”删除 sed -i 's/,$//g' test.sql #在test.sql文件中每行的开头添加左括号“(” sed -i 's/^/(&/g' test.sql #在test.sql文件中每一行的末尾添右括号“)” sed -i 's…
cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟着要选择的字符偏移,-b表示后面跟着要选择的字节偏移: 可以使用start-end表示一个区间,解决使用逗号的烦恼. 比如这个实例: ubuntu@ubuntu:~$ cat test.txt aaaaa;bbbbb;ccccc ddddddd;eeeeee fffff;gggggggg!iii;j…
1.sed命令:主要作用是查找:新增 删除 和修改替换. user.txt daokr#cat user.txt ID Name Sex Age zhang M wang G cheng M huahua M 查找命令:-n 和 p(print) 在user.txt文件中:匹配带h的行 并且只显示1,3行 cat user.txt | grep h |sed -n '1,3p' daokr#cat user.txt | grep h |sed -n '1,3p' zhang M cheng M…
shell脚本之sed命令 1.概述 2.工作流程 3.命令格式 4.具体操作 1.概述: 1.sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流 2.sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中 2.工作流程:读取.执行.显示 1.读取:sed从输入流 (文件.管道.标准输入) 中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space) 2.执行:默认情况下,所有的sed命令都在…
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50vZlGSGNt0jYq7BN4mac4RrVC96KKq SED(Linux指令)_百度百科 http://baike.baidu.com/link?url=DQklcY8r4u33kGGfZt5Q-Mm6JHgKOGJQqQvpvfB3mYk5R_kiZ4X6jcdBs10ni1cZFm7-Oh…