Chinaunix首页 | 论坛 | 博客
  • 博客访问: 358679
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 847
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-25 22:29
个人简介

执一不失,能君万物http://weidian.com/s/284520723?wfr=c

文章分类

全部博文(81)

文章存档

2016年(11)

2015年(70)

我的朋友

分类: LINUX

2015-07-05 01:00:20


点击(此处)折叠或打开

  1. 1.sed简介
  2. sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
  3. 2.定址
  4. 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定 。
  5. 3.sed命令
  6. a\ 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行
  7. c\ 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用"\"续行
  8. i\ 在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行
  9. d 删除行
  10. h 把模式空间里的内容复制到暂存缓冲区
  11. H 把模式空间里的内容追加到暂存缓冲区
  12. g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容
  13. G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面
  14. l 列出非打印字符
  15. p 打印行
  16. n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
  17. q 结束或退出sed
  18. r 从文件中读取输入行
  19. ! 对所选行以外的所有行应用命令
  20. s 用一个字符串替换另一个
  21. g 在行内进行全局替换
  22. w 将所选的行写入文件
  23. x 交换暂存缓冲区与模式空间的内容
  24. y 将字符替换为另一字符(不能对正则表达式使用y命令)
  25. 4.sed选型
  26. 4.参数
  27. 1)-e command, --expression=command 允许多台编辑。
  28. 2)-h, --help 打印帮助,并显示bug列表的地址。
  29. 3)-n, --quiet, --silent
  30. 4)取消默认输出。
  31. 5)-f, --filer=script-file 引导sed脚本文件名。
  32. 6)-V, --version 打印版本和版权信息。
  33. 5.退出状态
  34. sed不向grep一样,不管是否找到指定的模式,它的退出状态都是0。只有当命令存在语法错误时,sed的退出状态才不是0
  35. 6.正则表达式元字符
  36. 1)^ 锚定行的开始 如:/^sed/匹配所有以sed开头的行。
  37. 2)$ 锚定行的结束 如:/sed$/匹配所有以sed结尾的行。
  38. 3). 匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。
  39. 4)* 匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
  40. 5)[] 匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。
  41. 6)[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
  42. 7)\(..\) 保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
  43. 8)& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
  44. 9)\< 锚定单词的开始,如:/\<love/匹配包含以love开头的单词的行。
  45. 10)\> 锚定单词的结束,如/love\>/匹配包含以love结尾的单词的行。
  46. 11)x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个o的行。
  47. 12)x\{m,\} 重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。
  48. 13)x\{m,n\}重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。
  49. 7.p命令--显示
  50. 命令p用于显示模式空间的内容。默认情况下,sed把输入行打印在屏幕上,选项-n用于取消默认的打印操作。当选项-n和命令p同时出现时,sed可打印选定的内容。
  51. [root@localhost ~]# cat testfile
  52. northwest NW Charles Main 3.0 .98 3 34
  53. western WE Sharon Gray 5.3 .97 5 23
  54. southwest SW Lewis Dalsass 2.7 .8 2 18
  55. southern SO Suan Chin 5.1 .95 4 15
  56. southeast SE Patricia Hemenway 4.0 .7 4 17
  57. eastern EA TB Savage 4.4 .84 5 20
  58. northeast NE AM Main Jr. 5.1 .94 3 13
  59. north NO Margot Weber 4.5 .89 5 9
  60. central CT Ann Stephens 5.7 .94 5 13
  61. [root@localhost ~]# sed '2p' testfile
  62. northwest NW Charles Main 3.0 .98 3 34
  63. western WE Sharon Gray 5.3 .97 5 23
  64. western WE Sharon Gray 5.3 .97 5 23
  65. southwest SW Lewis Dalsass 2.7 .8 2 18
  66. southern SO Suan Chin 5.1 .95 4 15
  67. southeast SE Patricia Hemenway 4.0 .7 4 17
  68. eastern EA TB Savage 4.4 .84 5 20
  69. northeast NE AM Main Jr. 5.1 .94 3 13
  70. north NO Margot Weber 4.5 .89 5 9
  71. central CT Ann Stephens 5.7 .94 5 13
  72. #默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式my,p命令将把该行另外打印一遍。
  73. [root@localhost ~]# sed -n '2p' testfile
  74. western WE Sharon Gray 5.3 .97 5 23
  75. [root@localhost ~]#
  76. #选项-n取消sed默认的打印,p命令把匹配模式的行打印一遍。
  77. 8.d命令-删除命令
  78. [root@localhost ~]# cat testfile
  79. northwest NW Charles Main 3.0 .98 3 34
  80. western WE Sharon Gray 5.3 .97 5 23
  81. southwest SW Lewis Dalsass 2.7 .8 2 18
  82. southern SO Suan Chin 5.1 .95 4 15
  83. southeast SE Patricia Hemenway 4.0 .7 4 17
  84. eastern EA TB Savage 4.4 .84 5 20
  85. northeast NE AM Main Jr. 5.1 .94 3 13
  86. north NO Margot Weber 4.5 .89 5 9
  87. central CT Ann Stephens 5.7 .94 5 13
  88. [root@localhost ~]# sed '$d' testfile
  89. northwest NW Charles Main 3.0 .98 3 34
  90. western WE Sharon Gray 5.3 .97 5 23
  91. southwest SW Lewis Dalsass 2.7 .8 2 18
  92. southern SO Suan Chin 5.1 .95 4 15
  93. southeast SE Patricia Hemenway 4.0 .7 4 17
  94. eastern EA TB Savage 4.4 .84 5 20
  95. northeast NE AM Main Jr. 5.1 .94 3 13
  96. north NO Margot Weber 4.5 .89 5 9
  97. #删除最后一行,其余的都被显示
  98. [root@localhost ~]# sed '2d' testfile
  99. northwest NW Charles Main 3.0 .98 3 34
  100. southwest SW Lewis Dalsass 2.7 .8 2 18
  101. southern SO Suan Chin 5.1 .95 4 15
  102. southeast SE Patricia Hemenway 4.0 .7 4 17
  103. eastern EA TB Savage 4.4 .84 5 20
  104. northeast NE AM Main Jr. 5.1 .94 3 13
  105. north NO Margot Weber 4.5 .89 5 9
  106. central CT Ann Stephens 5.7 .94 5 13
  107. #删除第二行,其余的都被显示
  108. [root@localhost ~]# cat testfile
  109. northwest NW Charles Main 3.0 .98 3 34
  110. western WE Sharon Gray 5.3 .97 5 23
  111. southwest SW Lewis Dalsass 2.7 .8 2 18
  112. southern SO Suan Chin 5.1 .95 4 15
  113. southeast SE Patricia Hemenway 4.0 .7 4 17
  114. eastern EA TB Savage 4.4 .84 5 20
  115. northeast NE AM Main Jr. 5.1 .94 3 13
  116. north NO Margot Weber 4.5 .89 5 9
  117. central CT Ann Stephens 5.7 .94 5 13
  118. 9.s命令-替换
  119. a)
  120. [root@localhost ~]# cat passwd.txt
  121. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  122. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  123. squid:x:23:23::/var/spool/squid:/sbin/nologin
  124. tcpdump:x:72:72::/:/sbin/nologin
  125. [root@localhost ~]# sed 's/x/xxx/g' passwd.txt
  126. sshd:xxx:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  127. memcached:xxx:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  128. squid:xxx:23:23::/var/spool/squid:/sbin/nologin
  129. tcpdump:xxx:72:72::/:/sbin/nologin
  130. #/s/要替换的/被替换成/g 全局替换
  131. b)
  132. [root@localhost ~]# sed -n 's/sshd/sssshd/p' passwd.txt
  133. sssshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  134. [root@localhost ~]#
  135. #(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。
  136. c)
  137. [root@localhost ~]# sed 's/var/&myhome/' passwd.txt
  138. sshd:x:74:74:Privilege-separated SSH:/varmyhome/empty/sshd:/sbin/nologin
  139. memcached:x:496:492:Memcached daemon:/varmyhome/run/memcached:/sbin/nologin
  140. squid:x:23:23::/varmyhome/spool/squid:/sbin/nologin
  141. tcpdump:x:72:72::/:/sbin/nologin
  142. [root@localhost ~]#
  143. #&符号表示替换换字符串中被找到的部份。所有含var的行都会被替换成它自已varmyhome
  144. d)
  145. [root@localhost ~]# sed 's/\(var\)/\1www/' passwd.txt
  146. sshd:x:74:74:Privilege-separated SSH:/varwww/empty/sshd:/sbin/nologin
  147. memcached:x:496:492:Memcached daemon:/varwww/run/memcached:/sbin/nologin
  148. squid:x:23:23::/varwww/spool/squid:/sbin/nologin
  149. tcpdump:x:72:72::/:/sbin/nologin
  150. [root@localhost ~]#
  151. #var被标记为1,所有var会被替换成varwww,而且替换的行会被打印出来。
  152. e)
  153. [root@localhost ~]# sed 's#x#xxx#g' passwd.txt
  154. sshd:xxx:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  155. memcached:xxx:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  156. squid:xxx:23:23::/var/spool/squid:/sbin/nologin
  157. tcpdump:xxx:72:72::/:/sbin/nologin
  158. [root@localhost ~]#
  159. #不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有x替换成xxx。
  160. [root@localhost ~]# sed 's@x@xxx@g' passwd.txt
  161. sshd:xxx:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  162. memcached:xxx:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  163. squid:xxx:23:23::/var/spool/squid:/sbin/nologin
  164. tcpdump:xxx:72:72::/:/sbin/nologin
  165. [root@localhost ~]#
  166. f)
  167. [root@localhost ~]# sed -n '/sshd/,/squid/p' passwd.txt
  168. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  169. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  170. squid:x:23:23::/var/spool/squid:/sbin/nologin
  171. [root@localhost ~]#
  172. #所有在模板ssdh和squid所确定的范围内的行都被打印。
  173. g)
  174. [root@localhost ~]# sed -n '2,/^squid/p' passwd.txt
  175. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  176. squid:x:23:23::/var/spool/squid:/sbin/nologin
  177. [root@localhost ~]#
  178. #打印从第2行开始到第一个包含以squid开始的行之间的所有行。打印直到遇到squid为止,没有的话,会打印第2行以后所有的
  179. h)
  180. [root@localhost ~]# sed '2,/^squid/s/$/sed test/' passwd.txt
  181. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  182. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologinsed test
  183. squid:x:23:23::/var/spool/squid:/sbin/nologinsed test
  184. tcpdump:x:72:72::/:/sbin/nologin
  185. [root@localhost ~]#
  186. #在指定范围内的行尾加上sed test,并打印所有
  187. i)
  188. [root@localhost ~]# sed 's/^\(.\)/\u\1/' passwd.txt
  189. Sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  190. Memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  191. Squid:x:23:23::/var/spool/squid:/sbin/nologin
  192. Tcpdump:x:72:72::/:/sbin/nologin
  193. [root@localhost ~]#
  194. 将每行开头的第一个字母换成大写
  195. \w等同于[a-zA-Z0-9]
  196. \+表示{1,}
  197. \u就是表示把第一个字符转化成大写字母。uppercase
  198. &就是表示匹配前面正则表达式的那部分。
  199. 10.-e命令
  200. [root@localhost ~]# sed -e '1,2d' -e 's/^\(.\)/\u\1/' passwd.txt
  201. Squid:x:23:23::/var/spool/squid:/sbin/nologin
  202. Tcpdump:x:72:72::/:/sbin/nologin
  203. [root@localhost ~]#
  204. #(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至2行,第二条命令将每行开头的第一个字母换成大写。命令的执 行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。
  205. 11.r命令
  206. r命令是读命令。sed使用该命令将一个文本文件中的内容加到当前文件的特定位置上
  207. [root@localhost ~]# cat finduser
  208. #!/bin/bash
  209. #finduser
  210. who|grep $1[root@localhost ~]#
  211. [root@localhost ~]# sed '/squid/r finduser' passwd.txt
  212. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  213. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  214. squid:x:23:23::/var/spool/squid:/sbin/nologin
  215. #!/bin/bash
  216. #finduser
  217. who|grep $1tcpdump:x:72:72::/:/sbin/nologin
  218. [root@localhost ~]#
  219. finduser里的内容被读进来,显示在与匹配的行后面,如果匹配多行,则finduser的内容将显示在所有匹配行的下面。
  220. 12.w命令
  221. [root@localhost ~]# sed -n '/squid/w file.txt' passwd.txt
  222. [root@localhost ~]# cat file.txt
  223. squid:x:23:23::/var/spool/squid:/sbin/nologin
  224. [root@localhost ~]#
  225. #把passwd中包含squid的文件写入到file.txt中
  226. 13.a命令
  227. a\命令是追加命令,追加将添加新文本到文件中当前行(即读入模式缓冲区中的行)的后面。所追加的文本行位于sed命令的下方另起一行。如果要追加的内容超过一行,则每一行都必须以反斜线结束,最后一行除外。最后一行将以引号和文件名结束
  228. [root@localhost ~]# sed '/squid/a\
  229. > AA BB\
  230. > CC' passwd.txt
  231. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  232. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  233. squid:x:23:23::/var/spool/squid:/sbin/nologin
  234. AA BB
  235. CC
  236. tcpdump:x:72:72::/:/sbin/nologin
  237. [root@localhost ~]#
  238. 14.i命令
  239. i\ 命令是在当前行的前面插入新的文本。
  240. [root@localhost ~]# sed '/squid/i\
  241. > AA BB\
  242. > CC DD\
  243. > EE' passwd.txt
  244. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  245. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  246. AA BB
  247. CC DD
  248. EE
  249. squid:x:23:23::/var/spool/squid:/sbin/nologin
  250. tcpdump:x:72:72::/:/sbin/nologin
  251. [root@localhost ~]#
  252. 15.n命令
  253. sed使用该命令获取输入文件的下一行,并将其读入到模式缓冲区中,任何sed命令都将应用到匹配行紧接着的下一行上。
  254. [root@localhost ~]# sed '/squid/{n;s/sbin/sbbbbin/;}' passwd.txt
  255. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  256. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  257. squid:x:23:23::/var/spool/squid:/sbin/nologin
  258. tcpdump:x:72:72::/:/sbbbbin/nologin
  259. [root@localhost ~]#
  260. 16.y命令
  261. 该命令与UNIX/Linux中的tr命令类似,字符按照一对一的方式从左到右进行转换。例如,y/abc/ABC/将把所有小写的a转换成A,小写的b转换成B,小写的c转换成C。
  262. [root@localhost ~]# sed 'y/squid/SQUID/' passwd.txt
  263. SShD:x:74:74:PrIvIlege-SeparateD SSH:/var/empty/SShD:/SbIn/nologIn
  264. memcacheD:x:496:492:MemcacheD Daemon:/var/rUn/memcacheD:/SbIn/nologIn
  265. SQUID:x:23:23::/var/Spool/SQUID:/SbIn/nologIn
  266. tcpDUmp:x:72:72::/:/SbIn/nologIn
  267. [root@localhost ~]# sed '1,3y/abc/ABC/' passwd.txt
  268. sshd:x:74:74:Privilege-sepArAted SSH:/vAr/empty/sshd:/sBin/nologin
  269. memCAChed:x:496:492:MemCAChed dAemon:/vAr/run/memCAChed:/sBin/nologin
  270. squid:x:23:23::/vAr/spool/squid:/sBin/nologin
  271. tcpdump:x:72:72::/:/sbin/nologin
  272. [root@localhost ~]#
  273. 17.q命令
  274. [root@localhost ~]# sed '/squid/{s/abc/ABC/;q;}' passwd.txt
  275. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  276. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  277. squid:x:23:23::/var/spool/squid:/sbin/nologin
  278. [root@localhost ~]# sed '/squid/{s/abc/ABC/;}' passwd.txt
  279. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  280. memcached:x:496:492:Memcached daemon:/var/run/memcached:/sbin/nologin
  281. squid:x:23:23::/var/spool/squid:/sbin/nologin
  282. tcpdump:x:72:72::/:/sbin/nologin
  283. [root@localhost ~]#
  284. q命令将导致sed程序退出,不再进行其它的处理。
  285. 18.保持和获取:h命令和G命令
  286. sed如何处理数据?
  287. sed在正常情况下,将处理的行读入模式空间(pattern space),脚本中的“sed-command(sed命令)”就一条接着一条进行处理,知道脚本执行完毕。然后该行呗输出,模式(pattern space)被清空;接着,在重复执行刚才的动作,文件中的新的一行被读入,直到文件处理完毕。
  288. 什么是Pattern Space,什么是Hold Space?
  289. pattern space相当于车间sed把流内容在这里处理。
  290. hold space相当于仓库,加工的半成品在这里临时储存。
  291. PS:你可以将pattern space看成是一个流水线,所有的动作都是在“流水线”上执行的;而hold space是一个“仓库”,“流水线”上的东东都可以放到这里。
  292. 为什么要使用sed高级命令(G、H、g、h、n、N、x)?
  293. 由于各种各样的原因,比如用户希望在某个条件下脚本中的某个命令被执行,或者希望模式空间得到保留以便下一次的处理,都有可能使得sed在处理文件的时候不按照正常的流程来进行。这个时候,sed设置了一些高级命令来满足用户的要求。
  294. sed命令:
  295. + g:[address[,address]]g 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容清除
  296. + G:[address[,address]]G 将hold space中的内容append到pattern space\n后
  297. + h:[address[,address]]h 将pattern space中的内容拷贝到hold space中,原来的hold space里的内容被清除
  298. + H:[address[,address]]H 将pattern space中的内容append到hold space\n后
  299. + d:[address[,address]]d 删除pattern中的所有行,并读入下一新行到pattern中
  300. + D:[address[,address]]D 删除multiline pattern中的第一行,不读入下一行
  301. PS:不论是使用G、g还是H、h,它们都是将hold space里面的内容“copy”到pattern space中或者将pattern space中的内容“copy”到hold space中。
  302. cat mm
  303. 1
  304. 2
  305. 3
  306. 解决方法:
  307. sed ‘1!G;h;$!d’mm
  308. ps:1!G第1行不 执行“G”命令,从第2行开始执行。
  309. $!d,最后一行不删除(保留最后1行)
  310. [root@localhost ~]# cat mm
  311. 1
  312. 2
  313. 3
  314. [root@localhost ~]# sed '1!G;h;$!d' mm
  315. 3
  316. 2
  317. 1
  318. [root@localhost ~]#
  319. 19.保持和互换:h命令和x命令
  320. [root@localhost ~]# sed -e '/1/h' -e '/2/x' mm
  321. 1
  322. 1
  323. 3
  324. [root@localhost ~]#
  325. #把文件第二行的数据换成第一行的数据
  326. 20. 脚本
  327. sed脚本就是写在文件中的一列sed命令。脚本中,要求命令的末尾不能有任何多余的空格或文本。如果在一行中有多个命令,要用分号分隔。执行脚本时,sed先将输入文件中第一行复制到模式缓冲区,然后对其执行脚本中所有的命令。每一行处理完毕后,sed再复制文件中下一行到模式缓冲区,对其执行脚本中所有命令。使用sed脚本时,不再用引号来确保sed命令不被shell解释。
  328. [root@localhost ~]# cat script
  329. 3i\ //在第三行的前面插入
  330. ==================
  331. s/^\(.\)/\u\1/ //行首字母转换成大写字母
  332. $a\ //行尾添加内容
  333. Test sed script!!!
  334. [root@localhost ~]# sed -f script testfile
  335. Northwest NW Charles Main 3.0 .98 3 34
  336. Western WE Sharon Gray 5.3 .97 5 23
  337. ==================
  338. Southwest SW Lewis Dalsass 2.7 .8 2 18
  339. Southern SO Suan Chin 5.1 .95 4 15
  340. Southeast SE Patricia Hemenway 4.0 .7 4 17
  341. Eastern EA TB Savage 4.4 .84 5 20
  342. Northeast NE AM Main Jr. 5.1 .94 3 13
  343. North NO Margot Weber 4.5 .89 5 9
  344. Central CT Ann Stephens 5.7 .94 5 13
  345. Test sed script!!!
  346. [root@localhost ~]#

阅读(1739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~