sed:是一个流编辑器,非常擅长处理行文本文件,处理时,把当前的行存储在临时缓冲区,成为“模式空间”,处理完成后将缓冲区的内容送往屏幕,接着处理下一行,直到文件末尾。文件内容没有改变,除非使用重定向。
替换操作
sed 's/需要替换的部分/替换成的部分/' file
root@ubuntu:~/shell# cat file.txt
bookss book
bookss book
bookss book
table
源文件如图:
root@ubuntu:~/shell# sed 's/book/BOOK/' file.txt 将book替换成BOOK。替换第一个匹配的部分
BOOKss book
BOOKss book
BOOKss book
table
root@ubuntu:~/shell# sed 's/book/BOOK/g' file.txt 后面接[number]g表示,从每行第几个匹配的位置开始替换。默认是从第一个匹配到的到本行最后
BOOKss BOOK
BOOKss BOOK
BOOKss BOOK
table
sed '/^$/d' file 删除空白行。后接d代表删除
sed '2,$d' file 删除第二行到最后一行
sed '$d' file 删除最后一行
\w\+ 代表每一个单词。
echo this is a test line |sed 's/\w\+/[&]/g' 将每个单词替换成[单词],&代表前面匹配到的每个内容
\(……\)里面填写的是需要操作的内容。echo this is digit 7 in a number|sed 's/digit \([0-9]\)/\1' 将替换的内容,替换成第一个括起来的内容。即将digit 7 替换成7.、1代表第一个\(..\)括起来的内容,同理\2,是第二个括起来的。
sed 命令非常强大,这里只是作为初学者简单的学习了一下,还有更多功能,以后接触到在继续了解。