首页 > 代码库 > 两例shell题(来自网友)

两例shell题(来自网友)



题目一:

[root@RE-01 ~]# cat abc 
1
aa
bbb

2
cc
ddd

3
ee
fff

4
gg
hhh

通过shell命令变为

1aabbb
2ccddd
3eefff
4gghhh


实现命令:

 sed ‘/[0-9]/N;s/\n//;/[a-z]/N;s/\n//;n;d‘ abc



题目二:

[root@RE-01 ~]# cat ip.txt 
172.16.1.102 255.255.254.0
172.16.1.12 255.255.252.0
172.16.1.202 255.255.0.0
172.16.1.212 255.255.128.0
172.16.1.21 255.252.0.0
172.16.1.22 255.255.240.0
172.16.1.2 255.248.0.0

通过shell变为:

172.16.1.102/23
172.16.1.12/22
172.16.1.202/16
172.16.1.212/17
172.16.1.21/14
172.16.1.22/20
172.16.1.2/13

实现命令:

cat ip.txt  | while read ip_net; do ipcalc -p $ip_net; done | paste ip.txt - |sed ‘s/ .*=/\//g‘



记录下来,以后留着看。


PS:

  1. 学习新命令ipcalc

  2. 重温sed模式空间和保留空间用法

本文出自 “lisp的运维之路” 博客,请务必保留此出处http://lspgyy.blog.51cto.com/5264172/1545528

两例shell题(来自网友)