位置: 编程技术 - 正文
推荐整理分享Linux命令之sed命令使用介绍(linux中sed命令),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux命令sed的用法,linux中sed详细用法,linux命令sed的用法,linux sed命令详解,linux sed-i,linux sed命令详解,linux教程:sed命令的用法,linux中sed命令,内容如对您有帮助,希望把文章链接给更多的朋友!
sed是linux轻量级流编辑器,用于行的操作,主要用来数据的选取、替换、删除、新增等。从输入文件中一次一行的读取,
按顺序将列表中的命令应用到每一行,并将其编辑过的行,写到标准输出。
权 限:所有用户
位 置:/bin/sed
用 法:sed [-nefr] [动作] file
参数:
-n
不加-n的时候,sed处理的数据和不处理的都会输出,加上-n只会输出sed操作的行,
注意:与动作p和起来用,不要与其他动作一起用
-e
直接在命令行模式上进行sed的动作编辑
例如:sed -e 's/aaa/b/g; s/aa/b/g' file 也即多个动作同时操作,注意中间的分号
-f
直接将sed动作写在一个文件内,-f file 则可以执行filename内的sed动作
-r
sed的动作支持扩展的正则表达式(默认支持基础正则表达式)
-i
直接修改读取的文件内容
注意:多个选项参数一起用的时候,例如:sed -i -r ... 不可以这样:sed -ir ...
动作说明:[n1[,n2]] function
不见得会存在,一般代表选择动作的行数,如果动作是在5到行之间进行替换,则",c"
a 新增,当前行的下一行
sed '2a hello world' file 输出在第2行之后插入hello world
sed '2a hello world
my name is csdn' file
输出在2行下面插入两行分别为hello world 和my name is scdn
特别注意hello world 后面的""
c 替换,是整行替换
sed '3,6c hello csdn' file
输出把3至6行的只替换为 hello csdn(第3至6行只剩下一行hello csdn,不是3至6行的每一行都为hello csdn)
d 删除
sed '3,6d' file 输出删除file的3至6行之后的内容
i 插入,当前行的上一行
与a动作类似,参照a动作用法
p 打印
sed -n '2,5p' file 打印file的第2至5行
s 替换
sed 's/oldString/newString/g' file oldString和newString支持基础正则表达式和扩展的正则表达式
cat -n nginx | sed '1,s/[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}//g' 把nginx日志的1至行的第一个字段IP地址替换为空
结果为:
动作其他用法1:sed '/模式/动作' 文件
可以指定某种模式的行进行动作操作,如下(这里的文件名是a,注意cat a的输出):
1、以p开头的行前加[TAB]
2、删除以a开头的行,(那么下面的输出,以a开头的行就没了)3、反向匹配(文件a中,输出只保留了a开头的行)4、等价与grep -v (输出文件a中,非p字母开头的行)
动作其他用法2:
也可以使用成对的正则表达式或行号与正则表达式的结合,来选取一定范围的行,如下:
1、sed '1,3d' file 删除1至3行
2、sed -n '1,3p' file 打印1至3行
3、sed '1, /^$/d' file 删除范围:第一行至第一个空行 (注意格式)
4、sed '/^$/, /^app/d' file 删除范围:第一个空行至以app开头的行
5、sed '$d' file 删除最后一行
注意:反向匹配行,是动作前加感叹号 (!d !s !c等等)
如果前面的命令直接加入-i,则直接修改文件
Linux命令之cut命令使用介绍 执行权限:所有用户所在位置:/usr/bin/cut语法:cutoptions...file...功能:字符截取命令,以TAB(制表符)为默认分隔符局限:空格作为分隔符时,则cut命令不
Linux命令之grep命令使用介绍 执行权限:所有用户所在位置:/bin/grep语法:grep[options]pattern[file...]功能:在文件中搜索字符串匹配的行,并输出选项:invE-n输出行号grep-ncsdnregex.txt匹
Linux vim光标移动快捷键 光标移动h或左箭头:光标向左移动一个字符,数字和字母合起来连用,5h表示向左移动5个字符,以下三个一次类推j或右箭头:光标向下移动一个字符k
标签: linux中sed命令
本文链接地址:https://www.jiuchutong.com/biancheng/364828.html 转载请保留说明!友情链接: 武汉网站建设