想要在echo "2";后面加上一条echo "3";可以用如下命令
sed -i '/echo "2";/aecho "3";' <file>
之所以用分号,是因为文本中本来就有。也就是说分号不是必须的!
抽象出来就是: sed -i '/* /a*' <file>
4、删除文件中的一行
sed -i '3d' <file>
5、删除文件中包含某个关键字开头的所有行
sed -i '/^QWQ/d' <file>
6、删除文件中包含某个关键字的所有行
sed -i '/QWQ/d' <file>
原文链接:
https://www.quwenqing.com/read-167.html
3、使用
sed
命令打开文本文件,并使用正则表达式匹配需要
删除
的多行。其中,pattern 是要匹配的正则表达式,N 是要
删除
的行数。这条命令会
删除
从包含 pattern 的行开始的 N 行。其中的5和10表示要
删除
的行号的范围,d表示
删除
的命令,filename表示要操作的文件名。这将
删除
从包含 “hello” 的行开始的两行。
sed
是stream editor(流编辑器)的缩写。它能够完美匹配正则表达式。
sed
和awk是文件编辑最重要的两个命令了。尤其涉及到了很多正则表达式的问题,笔者不敢也有点犯怵,试着写写。
1.替换文件中的字符串
$
sed
-i ‘s/text/replace/g’ file
#如果不加g结尾,则替换每
一行
的第一个
#如果只是打印,去掉-i
2.忽略前N处匹配,从N+1出开始替换
$
sed
-i ‘s/text/replace/2g’ file
#在g前面加入数字N
3.移除空白符
$
sed
‘/^$/d’ file
4.标记已匹配的内容
$echo this is an ex
这个就是一个比较简单的操作,比较实用。
以上这篇
linux
下利用
shell
在指定的行添加内容的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:
Linux
bash
删除
文件中含“指定内容”
sed
找到关键字所在行并将其前面的第一个字符
删除
:
代码如下:
sed
-i ‘/httpd-vhosts/s/^#//’ httpd.conf#Include conf/extra/httpd-vhosts.conf
说明:以 httpd-vhosts 为关键字找到这行,并将前面的第一个字符删掉,即将#删掉。
您可能感兴趣的文章:查看某时间段到现在的系统日志的
sed
命令
linux
之
sed
命令的用法一天一个
shell
命令
linux
文本内容操作系列-
sed
命令详解
linux
中
sed
命令的使用与注意小结
想要在echo "2";后面加上一条echo "3";之所以用分号,是因为文本中本来就有。也就是说分号不是必须的!抽象出来就是:
sed
-i '/* /a*' 5、
删除
文件中包含某个关键字开头的所有行。6、
删除
文件中包含某个关键字的所有行。3、在文档指定行中
增加
一行
。2、
删除
文档的
最后
一行
。1、
删除
文档的
第一行
。4、
删除
文件中的
一行
。
在做数据分析式如果给到的原数据是文本格式,在数据中经常会有如下情况的:
数据中的
第一行
是我们分析所不需要的,我们需要
删除
第一行
的数据。用到的
shell
命令为:
sed
-i '1d' txtfilename(
sed
-i表示将改动直接写入到原文件里)。
如果我们有成批量的这样的数据,用到的命令为:for i in `ls`; do
sed
-i '1
可以使用head(查看前几行)、tail(查看末尾几行)两个命令。例如:查看/etc/profile的前10行内容,应该是:# head -n 10 /etc/profile查看/etc/profile的
最后
5行内容,应该是:# tail -n 5 /etc/profile如果想同时查看可以将前10行和后5行的显示信息通过输出重定向的方法保存到一个文档,这样查看文档即可一目了然。例如:将内容输出
sed
对"行"操作动作含义a :新增, a 接字串,而这些字串会在新的
一行
出现(目前的下
一行
)~
sed
'1a\llll llllllll \n lllllll' t.txtnl /etc/passwd |
sed
'2a drink tea'
sed
-i '$a# This is a test' regular_express.txt ####文本文件的
最后
插入# This is a test...