目录
一、sed 命令与应用
(1)sed是一种流编辑器,它是一种文本处理非常重要的工具
(2)sed 'p' abc.txt 输出abc.txt的文件内容,每行输出两次
(3)sed '=' abc.txt 输出abc.txt文件内容,每行输出并输出每行序号
(4)sed '2=' abc.txt 输出abc.txt文件第二行以下的内容
(5)sed '1a nihao' abc.txt 在文本的第一行后面添加文本“nihao”,只是暂时可以看到,并没有修改文件内容
(6)sed -i '1a nihao' abc.txt 修改了文件内容
(7)sed '2d' abc.txt 删除第二行,虚假删除
(8)sed -i '2d' abc.txt 真正删除第二行
(9)sed -n 'p' abc.txt 取消完整输出,表示正常输出内容
(10)sed -n '=;p' abc.txt 输出带有序号
(11)sed '3c adaghajghjdag' abc.txt 第三行替换成修改字符(凡是没有带-i 的都是虚假修改)
(12)sed '3c adaghajg\nhjdag' abc.txt 换行操作
(13)sed -n '2p' abc.txt 只输出第二行内容
(14)sed -n '2i abcd\nadad123' abc.txt 在第二行之前输入文本
(15)sed -n '2!p' abc.txt 显示除第二行之外的数据
(16)sed 's/ad/###/g' abc.txt 将文本中ad替换成###
(17)sed -n '/ad/,/ty/p' abc.txt 输出文本中从ad开始到ty结束的部分
二、参数说明
(1)p 相当于print
(2)d 相当于delete
(3)= 打印匹配的行号
(4)-n 取消默认的完整输出,只需要输出
(5)-e 允许多项编辑
(6)-i 修改文件内容
(7)-r 不需要转义
(8)&符号在sed命令中代表上次匹配的结果
三、sed命令功能
(1)a\ 在当前行添加一行或多行,多行时除最后一行外,每一行末尾需用\续行(\表示续行)
(2)c\ 用此符号后的新文本替换当前行的文本,多行时除最后一行外,每行末尾需要用\续行
(3)i\ 在当前行之前插入文本,多行时除最后一行外,每行末尾需用\续行
(4)q 结束或退出sed
(5)! 对所选行以外多所有行的命令
(6)s 用一个字符串替换另一个
(7)g 在行内进行全局替换
(8)y 将字符替换成另一个字符(不能对正则表达式使用y命令)
四、补充说明
(1)cat -n abc.txt 列出内容,并每行标出序号
(2)last |cut -d" " -f1 列出谁登陆过该系统
(3)last |grep -v wtmp 列出内容,把含有wtmp的一行去掉
(4)last |grep -v wtmp|cut -d" " -f1|sort -u|sed '/^$/d' 综合命令,列出使用用户除去含有wtmp那一行,以空格为分隔符取每行第一个字符,排序且去除重复,去除空行