sed:
环境:
[root@oldboyedu ~/test]# cat oldgirl.txt
I am oldboy teacher!
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.oldboyedu.com
my qq num is 49000448.
问题1:输出oldboy.txt的第2-3行内容※。
方法一:sed -n '2,3p' test.txt
方法二:head -3 test.txt|tail -2
问题2:过滤出含有oldboy字符串的行※。
方法一:sed -n '/oldboy/' test.txt
方法二:grep oldboy test.txt
问题3:删除含有oldboy字符串的行※。
方法一:sed '/oldboy/d' test.txt
方法二:grep -v 'oldboy' test.txt
问题4:将文件中的oldboy字符串全部替换为oldgirl※。
方法一:sed 's#oldboy#oldgirl#g' test.txt
方法二:Vim替换
问题5:将文件中的oldboy字符串全部替换为oldgirl,同时将QQ号码49000448改为31333741。
sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g'
问题6:在oldboy.txt文件的第2行后追加文本。
方法一:sed '2a I am study.' test.txt
方法二:sed -i '2a I am study' test.txt
方法三:sed '2i I am study' test.txt
问题7:在oldboy.txt文件的第2行插入文本。
取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。
方法一:ifconfig etho|sed -n 2p|sed 's#^.*inet ##g'|sed 's#netm.*$##g'
方法二:ifconfig eth0|sed -n 2p|sed -e 'sg#^.*inet ##' -e 's#netm.*$##g'
方法三:ifconfog eth0|sed -ne 's#^.*ient ##g' -e 's# netm.*$##gp'
方法四:ifconfig eth0|sed -nr '2s#^.*inet (.*) netm.*$#\1#gp'
ip add的输出取出IP。
方法一:ip add|sed -nr 's#^.*inet (.*)\/24#\1#gp'
三剑客特长:
grep 过滤查找内容。筛子
sed 取行,替换,删除,追加
awk 取列
cut 按列切割
-d 指定分隔符
-f指定哪列,多列用逗号
awk语法:
awk [option] 'pattern{action}' file ...
awk [参数] '条件{动作}' 文件 ...
参数:
-F 指定分隔符
列:$1第一列 $2第二列 以此类推....
$0 整行
$NF 最后一列 倒数第一列
$(NF-1) 倒数第二列
问题1:取test.txt文件的第2行到第3行的内容。
sed -n '2,3p' oldgirl.txt
问题2:过滤出含有root字符串的行※。
sed -n '/root/p' test.txt
grep oldboy oldgirl.txt
问题3:删除含有root字符串的行※。
sed '/root/d' oldgirl.txt
问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。
sed 'sg'
问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。
问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出
问题7:过滤下列test1.txt文件中第三列内容分数大于70,并且小于95的人名和性别。








网友评论