sed 处理一行,替换 删除
sed option 'action' filename (文件可多个)
option: -i 直接在原文件中修改!
-n 安静模式,默认情况所有数据都会被列出,但-n只有经过动作处理的那一行才被列出(结合p使用)
2. 选项-action
动作:'[n1[,n2]]function' 表示对n1、n2之间的行进行处理!
function:
d 删除当前行,sed '2,5d' 删除2~5行
g 获得内存缓冲区的内容,并替代当前模板块中的文本。配合s使用,否则只替换一行中的第一个!
a 将后续的字符新增一行到目前的下一行,sed '2a drink tea \(插入多行分隔符) ...' ,添加行
i 同上,插入到当前的前一行,添加行
c 替换,用后续的字符串替换n1 , n2之间的行,sed '2,5c No number 2-5'
s 替换单个词,sed '1,20s/old/new/g' ,使用可参考vi替换,s#可将#作为分隔符(紧跟s)
p 打印,将选中的行打印出来,通常和sed -n 一起使用,sed -n '5,7p' ,只显示5~7行,
P 打印第一行!
3. 示例
行首插入字符: sed -i '2s/^/\t/g' file_name //直接修改源文件
行位插入字符: sed -i 's/$/啥话/g' 123.log
删除指定行: sed '2d' ; sed '3,5'
删除包含test的行: sed '/test/d'
sed -n '5,7p' ,只显示5~7行
sed -n '4p' ,只显示第4行
sed -n '/Check SGA start/,/Check SGA end/p' //查找 start<-->end之间的行
sed -n '/a/ {n;p}' test.log //只打印匹配行的下一行
sed -n '/^a$/,+1p' test.log //打印匹配行及下一行
sed 处理一行,替换 删除的更多相关文章
- linux中sed中用s 替换中遇到的问题
sed替换时候不能用-n,只输出替换的行,为什么???? 比如: sed "2,4s/\"//g" /var/lib/status #可以输出 但是: sed - ...
- 运用sed命令高效地删除文件的特定行
运用 sed 命令高效地删除文件的特定行 正常来说,我们想要删除文件中的某些行内容,一般都是先打开这个文件,然后找到要删除的内容,再然后选中这些行并按删除键进行删除,这在数据量很少时是没有问题的.但是 ...
- 删除所有空白列 cat yum.log | awk '{$1=$2=$3=$4=null;print $0}'>>yum.log1 sed ‘s/[ \t]*$//g' 删除所有空格 sed -i s/[[:space:]]//g yum.log
2.删除行末空格 代码如下: 删除所有空白列 cat yum.log | awk '{$1=$2=$3=$4=null;print $0}'>>yum.log1 sed 's/[ \t]* ...
- 利用jquery给指定的table动态添加一行、删除一行
转自:http://www.cnblogs.com/linjiqin/p/3148181.html $("#mytable tr").find("td:nth-child ...
- jquery基础-包裹 替换 删除 复制
<!doctype html><html lang="en"><head> <meta charset="UTF-8&qu ...
- IOS7 UITableView一行滑动删除后 被删除行的下一行的点击事件将被忽略解决办法
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSI ...
- 利用jquery给指定的table动态添加一行、删除一行,复制,值不重复等操作
$("#mytable tr").find("td:nth-child(1)") 1表示获取每行的第一列$("#mytable tr").f ...
- Linux sed -i 字符串替换
sed -i 直接替换文件中的内容不输出, 如 将 laravel .env中的 QUEUE_DRIVER=sync 替换为 QUEUE_DRIVER=redis, 在Laravel的项目根目录中运行 ...
- Java 客户端操作 FastDFS 实现文件上传下载替换删除
FastDFS 的作者余庆先生已经为我们开发好了 Java 对应的 SDK.这里需要解释一下:作者余庆并没有及时更新最新的 Java SDK 至 Maven 中央仓库,目前中央仓库最新版仍旧是 1.2 ...
随机推荐
- MyBatis动态传入表名,字段名参数的解决办法---statementType用法
statementType="STATEMENT" 要实现动态传入表名.列名,需要做如下修改 添加属性statementType="STATEMENT" 同时s ...
- Ruby模块(module)
Ruby模块(module) 2013-04-03 16:47:09| 分类: Ruby | 标签:ruby require load extend include |字号 订阅 ...
- HTML5 中文乱码
<meta charste="utf-8"> 只是告诉浏览器要用utf-8来解释,而文档的编码,是在你保存时的选择决定的.如果保存ANSI 然后用utf-8解释,肯定是 ...
- <c和指针>学习笔记6输入输出函数
1 错误报告 (1)perror函数 void perror(char const *message) error是标准库的一个外部整型变量(errno.h),保存错误代码之后就会把这个信息传递给用户 ...
- Struts2学习第七课 OGNL
request变成了struts重写的StrutsRequestWrapper 关于值栈: helloWorld时,${productName}读取productName值,实际上该属性并不在requ ...
- GridView 高亮某一行
<script type="text/javascript"> $(document).ready(function () { $("#GridView tr ...
- SuperSocket框架中BinaryRequestInfo协议的使用
一.开发环境 1.Windows 10 企业版 64位 2.Microsoft Visual Studio 2017 企业版 二.项目开始 1.新建控制台程序,项目名称“BinarySuperSock ...
- java线程基础知识----线程与锁
我们上一章已经谈到java线程的基础知识,我们学习了Thread的基础知识,今天我们开始学习java线程和锁. 1. 首先我们应该了解一下Object类的一些性质以其方法,首先我们知道Object类的 ...
- Dropout和学习率衰减
Dropout 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象.在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上 ...
- jQuery之ajax() 参数