linux sed 命令练习题

之前我们学习了 linux sed命令, 

linuxsed命令(linux sed 命令详解 -i )新手入门

忘记的朋友可以去看看。

这篇文章,主要给是让大家来练习sed 命令说法的:

(1) 将/etc/passwd的前10行重定向到家目录的baimei.txt中

cat /etc/passwd|head  > ~/baimei.txt

(2)显示文件的第3行

sed -n '3p' baimei.txt

(3).显示文件的最后一行

sed -n '$p' baimei.txt

(4) .显示文件的第3行-第7行

sed -n '{3,7p}' baimei.txt

(5) .显示文件中包含root的行

sed -n '/root/p' baimei.txt

(6)显示文件包含adm到shutdown之间的所有行

sed -n '/adm/,/shutdown/p' baimei.txt

(7) 将文件的第1行删除

sed -i '1d' baimei.txt

sed -i 表示 修改源文件, 不带的话 直接把结果输出到屏幕上

(8) 删除文件的第3行到第6行内容

sed '/3/,/6/d' baimei.txt

(9) 删除包含shutdown的行

sed '/shutdown/d' baimei.txt

(10) 删除匹配字符串var-mail之间的行

sed '/var/,/mail/d' baimei.txt

(11) 将包含shutdow的整行替换为baimeidashu

sed '/shutdown/s#.*#baimeidashu#g' baimei.txt

sed '/shutdown/c baimeidashu' baimei.txt

(12) 将包含root或者mail的整行替换为test

首先找到包含 root 或者 mail 的整行

sed -r '/root|mail/ s#.*# test#g' baimei.txt

(13).将文件中所有的root单词替换为Linux

sed 's#root#Linux#g' baimei.txt

(14)将文件中的所有的冒号: /和x替换为空

sed 's#[:/x]# #g' baimei.txt

(15).统计文件中每个单词出现的次数

sed 's#[:/x0-9]# #g' baimei.txt |xargs -n1|sort|uniq -c|sort -rn

(16)将文件中的第5行的spool替换为Linux

cat /etc/passwd|head > ~/baimei.txt

sed '5s#spool#Linux#g' baimei.txt

17.统计文件中排除特殊字符数字空格 每个字母出现的次数

cat /etc/passwd | head > ~/baimei.txt

sed 's#[:/0-9 ]##g' baimei.txt |grep -o . |sort|uniq -c| sort -rn

sed 's#[^a-Z]##g' baimei.txt |grep -o . | sort| uniq -c |sort -rn

grep -o . 显示所有的字母 注意

(18).使用sed取出正确的身份证号

身份证号 的 1.txt 内容为:

李 2113421234

张 500224197
王 1233423423432baimei
万 5baimei
吕 lzy235872451234814
孔 150000123874591242
夏 222113859123487192
赵 37142518322922103X123
大 37142X183229221032
ok 371425183229221032
赵 4234137142518322922103X123
李 42341371425183339111035123

 

sed -n -r 's#^.* (\b[0-9]{17}[0-9X]\b)#\1#gp' 1.txt

(19).sed后向取出IP地址

ifconfig eth0

ifconfig eth0 | sed -r -n 's#^.*inet(.*) netmask.*$#\1#gp'

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章