sed实践
一、环境:

问题1:输出oldboy.txt的第2-3行内容※。

问题2:过滤出含有oldboy字符串的行※。

问题3:删除含有oldboy字符串的行※。

问题4:将文件中的oldboy字符串全部替换为oldgirl※。

问题5:将文件中的oldboy字符串全部替换为oldgirl,同时将QQ号码49000448改为31333741

问题6:在oldboy.txt文件的第2行后追加文本。

问题7:在oldboy.txt文件的第2行插入文本。

删除指定行:sed -i '3d' data.txt

二、环境

问题1:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)
方法一:ifconfig eth0|sed -n 2p|sed 's#^.*inet ##g'|sed 's#netm.*$##g'

方法二:ifconfig eth0|sed -n 2p|sed -e 's#^.*inet ##g' -e 's#netm.*$##g'

方法三:ifconfig eth0|sed -ne 's#^.*inet ##g' -e 's# netm.*$##gp'

方法四:ifconfig eth0|sed -nr 's#^.*inet(.*)netm.*$#\1#gp'

三剑客自身的特长:
grep 过滤查找内容
sed 取行,替换,删除,追加
awk 取列
cut (按列切割)
-d 指定分隔符 -f 指定哪列,多列用逗号

awk
语法:
awk [option] 'pattern[action]' file ...
awk [参数] '条件[动作]' 文件 ...
参数:-F 指定分隔符

awk命令的常用变量及说明
$0 当前整行记录
$n 当前记录的第n个列,字段间由FS或-F参数指定分隔符
NF 当前记录中的列的个数,就是有多少列
$(NF-n) 倒数第n列,n为数字
NR 已经读出的记录数,就是行号,从1开始
实践:、
环境:

问题1:取oldboy.txt文件的第2行到第3行的内容。
方法一:awk 'NR==2,NR==3' oldboy.txt

方法二:awk 'NR>1&&NR<4' oldboy.txt

问题2:过滤出含有root字符串的行※。
方法一:awk '/root/' oldboy.txt

方法二:grep root oldboy.txt

方法三:sed -n '/root/p' oldboy.txt

问题3:删除含有root字符串的行※。
方法一:awk '/^[^r]/' oldboy.txt

方法二:sed '/root/d' oldboy.txt

方法三:grep -v 'root' oldboy.txt

问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。

问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)
ifconfig eth0|awk 'NR==2{print $2}'

问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出

问题7:过滤下列test1.txt文件中第三列内容分数大于70,并且小于95的人名和性别。
