Unix文本处理工具之sed

和上文提到的awk一样,sed也是Unix的文本处理工具。sed是Stream Editor(流式编辑器)的缩写,它能够基于模式匹配过滤(所谓过滤就是在文件中找到符合某些条件的行)修改文本(就是对找到的符合条件的内容进行一些修改操作)。
1、sed命令格式
1.1 sed命令的基本格式
sed命令主要有三种使用形式:

  • sed ‘编辑指令’ 文件1 文件2 ……:用于将处理后的结果输出
  • sed -n ‘编辑指令’ 文件1 文件2 ……:用于只输出编辑指令影响的行
  • sed -i ‘编辑指令’ 文件1 文件2 ……:用于直接在文本文件上修改文本内容(在物理磁盘上修改文件)
1.2 编辑指令
编辑指令主要由两部分组成:前面是逗号隔开的两个地址(或者没有逗号,只有一个地址),代表要处理文本的起始位置到结束位置;后面是要进行的操作类型。格式如下:
[起始地址[,结束地址]]操作类型
如果在一条sed命令中要用到多条编辑指令,那么各个编辑指令之间要用; 隔开,也可以将多条编辑指令放在多个单引号中,但是这样的话,要在每个单引号的前面加一个-e。下面是一个简单的例子:
$cat sed_test.txt 1 apple a,b,d,f 2 boy alsdjf,apple,kdjf 3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139$sed -n '2,5p' sed_test.txt 2 boy alsdjf,apple,kdjf 3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139$sed -n '5p' sed_test.txt 5 eat http://blog.csdn.net/xia7139$sed -n -e '2p' -e'5p' sed_test.txt 2 boy alsdjf,apple,kdjf 5 eat http://blog.csdn.net/xia7139

1.3 操作类型 sed常用的操作类型如下:

操作 作用
p 打印文本行(print)
n 取下一行(next)
d 删除(delete)
s 字符串替换(substitude)
a 追加新的文本(append)
2、例子 下面的例子都是对文提到的文件sed_test.txt的操作:

使用正则表达式: (1)输出从第一个包含kdjf的行到最后一行($代表最后一行) $sed -n '/kdjf/,$p' sed_test.txt 2 boy alsdjf,appleapple,kdjf 3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139 (2)输出包含单词apple的行 (shell中单词是指一个字符串前后有空格或其它标点符号。正则表达式中用一个<>来界定一个单词,在sed中用该符号要进行转义。) $sed -n '/\/p' sed_test.txt 1 apple a,b,d,f删除指定行(这里没有-i,不对原文件进行操作,只是将处理后的结果输出。): (1)删除第2到4行 $sed '2,4d' sed_test.txt 1 apple a,b,d,f 5 eat http://blog.csdn.net/xia7139 (2)删除包含appleapple的行和最后一行($) $sed '/appleapple/d; $d' sed_test.txt 1 apple a,b,d,f 3 cat 163.2.201.1 4 dog www.google.com (3)删除不包含(!表示反选,选中不符合条件的行)apple的行(这样就只剩下了包含apple的行了) $sed '/apple/!d' sed_test.txt 1 apple a,b,d,f 2 boy alsdjf,appleapple,kdjf替换指定文本: (1)将1-4行的apple换成AMAZON。s代表替换,g代表如果一行出现两个apple则全部替换。 $sed '1,4s/apple/AMAZON/g' sed_test.txt 1 AMAZON a,b,d,f 2 boy alsdjf,AMAZONAMAZON,kdjf 3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139 (2)注释shell脚本(在行首插入#) $sed '1,3s/^/#/g' sed_test.txt #1 apple a,b,d,f #2 boy alsdjf,appleapple,kdjf #3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139 (3)删除字符串apple(如果不写起始地址和结束地址,则默认为所有行。) $sed 's/apple//g' sed_test.txt 1a,b,d,f 2 boy alsdjf,,kdjf 3 cat 163.2.201.1 4 dog www.google.com 5 eat http://blog.csdn.net/xia7139

以上两篇文章介绍了Unix两个文本处理工具awk和sed,希望对大家有所帮助。
3、sed和正则表达式
利用正则表达式结合sed能极大地帮助我们处理文本。比如下面的例子:

例1:正则表达式初步使用。 $ cat poem.txt The choice By William Butler Yeats The intellect of man is forced to choose Perfection of life ,or of the work, And if take the second must refuse A heavenly mansion ,raging in the dark. When all that story 's finished ,what's the news? In luck or out the toil has left its mark: That old perplexity an empty purse, Or the day's vanity ,the night's remorse. (1)用命令删掉文本行首的空格。 $ sed 's/^\s*//g' poem.txt The choice By William Butler Yeats The intellect of man is forced to choose Perfection of life ,or of the work, And if take the second must refuse A heavenly mansion ,raging in the dark. When all that story 's finished ,what's the news? In luck or out the toil has left its mark: That old perplexity an empty purse, Or the day's vanity ,the night's remorse. 也可以这样(注意,这里+是要被转义的,而上面的*不用转义。): $ sed 's/^\s\+//g' poem.txt The choice By William Butler Yeats The intellect of man is forced to choose Perfection of life ,or of the work, And if take the second must refuse A heavenly mansion ,raging in the dark. When all that story 's finished ,what's the news? In luck or out the toil has left its mark: That old perplexity an empty purse, Or the day's vanity ,the night's remorse.(2)删掉文中所有的空格 $ sed 's/\s*//g' poem.txt Thechoice ByWilliamButlerYeats Theintellectofmanisforcedtochoose Perfectionoflife,orofthework, Andiftakethesecondmustrefuse Aheavenlymansion,raginginthedark. Whenallthatstory'sfinished,what'sthenews? Inluckoroutthetoilhasleftitsmark: Thatoldperplexityanemptypurse, Ortheday'svanity,thenight'sremorse. 如下也可以达到同样的效果: $ sed 's/\s\+//g' poem.txt Thechoice ByWilliamButlerYeats Theintellectofmanisforcedtochoose Perfectionoflife,orofthework, Andiftakethesecondmustrefuse Aheavenlymansion,raginginthedark. Whenallthatstory'sfinished,what'sthenews? Inluckoroutthetoilhasleftitsmark: Thatoldperplexityanemptypurse, Ortheday'svanity,thenight'sremorse.也可以使用如下命令实现相关功能: $ sed 's/^[[:space:]]*//g' poem.txt(删除行开头的空格) $ sed 's/^[ ]*//g' poem.txt(删除行开头的空格) $ sed 's/^ *//g' poem.txt(删除行开头的空格) $ sed 's/^[[:space:]]*//g' poem.txt(删除行开头的空格) $ sed '/^$/d' poem.txt(删除空行) $ sed '/^[ ]*$/d' poem.txt(删除空行和只有空格的行)





4、初步体会sed的威力
4.1 去掉不想要的标签
比如你有一个文件内容如下:

test.txt: {'books/daglib/0015113': 'Scale-isometric polytopal graphs in hypercubes and Zn. - 锐客网\n', 'books/daglib/0097705': 'Discrete total lp-norm approximation problem for the function. - 锐客网\n', 'books/daglib/p/AveneauCFM11': 'A Framework for <i>n</i>-Dimensional Visibility Computations. - 锐客网\n', 'books/daglib/p/Carter11': 'Using <i>Dungeons and Dragons</i> to Integrate Curricula in Classroom. - 锐客网\n', 'books/daglib/p/CasolaLRV11': 'Access Control in Cloud-on-Grid Systems: The <i>PerfCloud</i> Case Study. - 锐客网\n', 'books/daglib/p/ChunKZDMZ11': 'Reverse Engineer of Gene Networks with Application <i>in silico</i> Network. - 锐客网\n', 'books/daglib/p/ChungK11': 'eQTL Mapping for Functional Classes of <i>Saccharomyces cerevisiae</i> Genes wssion. - 锐客网\n', 'books/daglib/p/Goldman11': 'A Model for Computer Graphics Based on Algebra for \xe2\x84\x9d3. - 锐客网\n', 'books/daglib/p/LiZ11': 'Line Geometry over \xe2\x84\x9d3, 3, and Stewart Platforms. - 锐客网\n', 'books/daglib/p/Liestol11': '<i>Situated Simulations</i> Between Reality and Designing a Narrative Space. - 锐客网\n'}

现在你要将其中的各行中的类似于标签之类的东西去掉,只需用一条sed命令:

$sed -e 's///g; s/<\/title>//g' -e 's/<i>//g; s/<\/i>//g' -e 's///g; s/<\/sub>//g' -e 's///g; s/<\/sup>//g' test.txt {'books/daglib/0015113': 'Scale-isometric polytopal graphs in hypercubes and Zn.\n', 'books/daglib/0097705': 'Discrete total lp-norm approximation problem for the function.\n', 'books/daglib/p/AveneauCFM11': 'A Framework for n-Dimensional Visibility Computations.\n', 'books/daglib/p/Carter11': 'Using Dungeons and Dragons to Integrate Curricula in Classroom.\n', 'books/daglib/p/CasolaLRV11': 'Access Control in Cloud-on-Grid Systems: The PerfCloud Case Study.\n', 'books/daglib/p/ChunKZDMZ11': 'Reverse Engineer of Gene Networks with Application in silico Network.\n', 'books/daglib/p/ChungK11': 'eQTL Mapping for Functional Classes of Saccharomyces cerevisiae Genes wssion.\n', 'books/daglib/p/Goldman11': 'A Model for Computer Graphics Based on Algebra for \xe2\x84\x9d3.\n', 'books/daglib/p/LiZ11': 'Line Geometry over \xe2\x84\x9d3, 3, and Stewart Platforms.\n', 'books/daglib/p/Liestol11': 'Situated Simulations Between Reality and Designing a Narrative Space.\n'}</code></blockquote><br /> 如果要在原文件中修改,只需加-i参数。 <br> 4.2 多文件中的替换<br /> temp目录下有t1.txt、t2.txt和t3.txt等三个文件,其内容分别如下:<br /> <br /> <blockquote><code>$ cat t1.txt StevenJobs mac i like mill fuck $ cat t2.txt youi life love lol StevenJobs sex friend one night stand for one night $ cat t3.txt good night nigtmare fuck StevenJobs StevenJobs StevenJobsStevenJobs mac</code></blockquote><br /> 下面想要将上面三个文件中的“StevenJobs”换成“Apple”,一一替换的话太麻烦,这里用一个稍微简单的方法,一条命令完成所有文件的替换。 预备知识<br /> (1)反引号<br /> 反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。这样,可以实现用一个命令的执行输出作为另一条命令参数的结果。在bash shell中,$()也会有相同的效果,下面是一个例子。<br /> <br /> <blockquote><code>$ echo `ls` t1.txt t2.txt t3.txt $ echo $(ls) t1.txt t2.txt t3.txt</code></blockquote><br /> (2)grep命令的r和l选项 grep -r: Read all files under each directory, recursively。<br /> 也是就是说,会递归逐层向下查找目录和目录子目录下的文件,如果没有-r选项grep只会查找当前目录下的文件,不会查找子目录。<br /> grep -l: Suppress normal output; instead print the name of each input file fromwhichoutputwouldnormallyhavebeenprinted.The scanning will stop on the first match.<br /> 这个选项的man手册读起来稍显晦涩,简单地说,-l选项只会打印出包含我们要查找内容的文件名称,下面是grep的例子。<br /> <br /> <blockquote><code>$ grep -r "Steven" . ./t1.txt:StevenJobs mac ./t2.txt: StevenJobs ./t3.txt:StevenJobs StevenJobs ./t3.txt:StevenJobsStevenJobs $ grep "Steven" . $ grep -r "Steven" . ./t1.txt:StevenJobs mac ./t2.txt: StevenJobs ./t3.txt:StevenJobs StevenJobs ./t3.txt:StevenJobsStevenJobs //下面的命令和上面的命令效果相同 $ grep"Steven" * t1.txt:StevenJobs mac t2.txt: StevenJobs t3.txt:StevenJobs StevenJobs t3.txt:StevenJobsStevenJobs $ grep -rl "Steven" . ./t1.txt ./t2.txt ./t3.txt</code></blockquote><br /> 用上上面的命令,不难得出下面的解决办法,效果如下: <strong>【Unix文本处理工具之sed】</strong><br /> <blockquote><code>$ sed -i 's/StevenJobs/apple/g' `grep -rl StevenJobs .` $ cat t* apple mac i like mill fuck youi life love lol apple sex friend one night stand for one night good night nigtmare fuck apple apple appleapple mac</code></blockquote><br /> >.< Over!</p> <div class="dede_pages"><ul></ul></div> <div class="pcd_ad"> <center><div class="_ahwullr0ac"></div> <script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u6834461", container: "_ahwullr0ac", async: true }); </script> <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" > </script></center> </div> <div class="mbd_ad"> <div style=margin-top:10px;margin-bottom:10px;> <div class="_i7aftr79jl"></div> <script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u5950612", container: "_i7aftr79jl", async: true }); </script> <!-- ½űֻһ --> <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" > </script> </div> </div> <h3>推荐阅读</h3> <ul class="post-loop post-loop-default cols-0"> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1167996.html" title="灭蚊灯放在离人近还是远的地方"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="灭蚊灯放在离人近还是远的地方" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1167996.html"> <b>灭蚊灯放在离人近还是远的地方 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3033040.html" title="南宋诗人翁卷,名字里的卷字到底读juǎn还是juàn?"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="南宋诗人翁卷,名字里的卷字到底读juǎn还是juàn?" src="http://img.readke.com/230819/112K151U-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3033040.html"> <b>南宋诗人翁卷,名字里的卷字到底读juǎn还是juàn? </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2045908.html" title="什么是光波的波长"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="什么是光波的波长" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2045908.html"> <b>什么是光波的波长 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0R910Xc2021.html" title="excel怎么排序excel排序方法"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="excel怎么排序excel排序方法" src="http://img200.easyfang.com/img.php?http://tqjimg.tianqistatic.com/video/img/202006/30/e1ad0e987e3bda622.jpg/tqj_pc"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/0R910Xc2021.html"> <b>excel怎么排序excel排序方法 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2959352.html" title="广东徐闻菠萝好吃吗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="广东徐闻菠萝好吃吗" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2959352.html"> <b>广东徐闻菠萝好吃吗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3347892.html" title="老人保健品要巧用 老人保健品要巧用吗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="老人保健品要巧用 老人保健品要巧用吗" src="http://img.readke.com/231103/0635392409-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3347892.html"> <b>老人保健品要巧用 老人保健品要巧用吗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1851528.html" title="大洋洲之最都有哪些 大洋洲世界之最"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="大洋洲之最都有哪些 大洋洲世界之最" src="http://img.readke.com/230429/2025493Y2-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1851528.html"> <b>大洋洲之最都有哪些 大洋洲世界之最 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1429959.html" title="镁元素在植物中起着什么作用"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="镁元素在植物中起着什么作用" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1429959.html"> <b>镁元素在植物中起着什么作用 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1887687.html" title="subverse博士战棋关卡怎么打 subverse博士战棋关卡打法"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="subverse博士战棋关卡怎么打 subverse博士战棋关卡打法" src="http://img.readke.com/230501/1913413242-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1887687.html"> <b>subverse博士战棋关卡怎么打 subverse博士战棋关卡打法 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2710398.html" title="电脑版小说阅读器哪个好 十大pc看书软件排行榜"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="电脑版小说阅读器哪个好 十大pc看书软件排行榜" src="http://img.readke.com/230713/012PS351-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2710398.html"> <b>电脑版小说阅读器哪个好 十大pc看书软件排行榜 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3453904.html" title="冰箱灯坏了怎么换?详细步骤及注意事项"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="冰箱灯坏了怎么换?详细步骤及注意事项" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3453904.html"> <b>冰箱灯坏了怎么换?详细步骤及注意事项 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3057062.html" title="我是一个小学生,想问下steam上有没有一些免费好玩的游戏,或者价格低的?"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="我是一个小学生,想问下steam上有没有一些免费好玩的游戏,或者价格低的?" src="http://img.readke.com/230823/20253014F-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3057062.html"> <b>我是一个小学生,想问下steam上有没有一些免费好玩的游戏,或者价格低的? </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3619685.html" title="手术工具清洗视频直播,手术工具怎么清洗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="手术工具清洗视频直播,手术工具怎么清洗" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3619685.html"> <b>手术工具清洗视频直播,手术工具怎么清洗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2484442.html" title="手工荞麦面怎么做不断"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="手工荞麦面怎么做不断" src="http://img.readke.com/230610/1056235102-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2484442.html"> <b>手工荞麦面怎么做不断 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1879296.html" title="如何给老年人送礼"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="如何给老年人送礼" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1879296.html"> <b>如何给老年人送礼 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2517208.html" title="火狐浏览器如何阻止弹窗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="火狐浏览器如何阻止弹窗" src="http://img.readke.com/230614/03452KI9-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2517208.html"> <b>火狐浏览器如何阻止弹窗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1754882.html" title="请假条由哪五个部分组成"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="请假条由哪五个部分组成" src="http://img.readke.com/230424/14425C2E-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1754882.html"> <b>请假条由哪五个部分组成 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2690434.html" title="宫本武藏厉害还是赵云厉害 宫本武藏打的过赵云吗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="宫本武藏厉害还是赵云厉害 宫本武藏打的过赵云吗" src="http://img.readke.com/230711/0502293V6-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2690434.html"> <b>宫本武藏厉害还是赵云厉害 宫本武藏打的过赵云吗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/507189.html" title="Android: 触屏fling/scroll/drag的区别及其详细过程"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="Android: 触屏fling/scroll/drag的区别及其详细过程" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/507189.html"> <b>Android: 触屏fling/scroll/drag的区别及其详细过程 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2929986.html" title="激光笔的危害"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="激光笔的危害" src="http://img.readke.com/230804/1401535E3-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2929986.html"> <b>激光笔的危害 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> </ul> <p><br /><ul class="post-loop post-loop-list cols-4"><li><a href="/c/01064130a2022.html" title="Unix/Linux环境C编程入门教程|Unix/Linux环境C编程入门教程 1 Solaris 11 64bit环境搭建" target="_blank">Unix/Linux环境C编程入门教程|Unix/Linux环境C编程入门教程 1 Solaris 11 64bit环境搭建 </a></li> <li><a href="/c/01014004E2022.html" title="TcpIp|利用TCP/IP堆栈进行远程操作系统判别的方法" target="_blank">TcpIp|利用TCP/IP堆栈进行远程操作系统判别的方法 </a></li> <li><a href="/c/01014004C2022.html" title="Security...|hping2的使用方法. ..后边再添加其他工具..." target="_blank">Security...|hping2的使用方法. ..后边再添加其他工具... </a></li> <li><a href="/c/122IWWH021.html" title="unix|unix ls 命令" target="_blank">unix|unix ls 命令 </a></li> <li><a href="/c/122IWW42021.html" title="unix|文件权限问题 unix" target="_blank">unix|文件权限问题 unix </a></li> <li><a href="/c/122IWW22021.html" title="unix|secureCRT" target="_blank">unix|secureCRT </a></li> <li><a href="/c/12263VO42021.html" title="UNIX/LINUX|C++ Epoll的封装" target="_blank">UNIX/LINUX|C++ Epoll的封装 </a></li> <li><a href="/c/12263V4C2021.html" title="linux的系统时钟和硬件时钟不一致问题" target="_blank">linux的系统时钟和硬件时钟不一致问题 </a></li> <li><a href="/c/12263UZ62021.html" title="14|Linux下轻型文本编辑器Nano常用快捷键" target="_blank">14|Linux下轻型文本编辑器Nano常用快捷键 </a></li> </ul></p> <div class=entry-copyright> <p></p> </div> </div> <div class="entry-footer"> <div class="prev-next sb br mb clearfix"> <p class="post-prev fl ellipsis">上一篇:<a href='/c/12163B4A2021.html'>容器的多重嵌套</a> </p> <p class="post-next fr ellipsis">下一篇:<a href='/c/12163B4C2021.html'>我的第一个小项目</a> </p> </div> </div> </div> </article> </main> <aside class="sidebar"> <div class="widget widget_post_thumb"> <h3 class="widget-title"><span>更多...</span></h3> <ul> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/09101V4302021.html" title="梅花香自苦寒来"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="梅花香自苦寒来" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/09101V4302021.html" title="梅花香自苦寒来">梅花香自苦寒来</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0Z112U3R021.html" title="百度智能云天工物联网支持多种类数据传输,MQTT助力数据、语音、视觉应用智能化"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="百度智能云天工物联网支持多种类数据传输,MQTT助力数据、语音、视觉应用智能化" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0Z112U3R021.html" title="百度智能云天工物联网支持多种类数据传输,MQTT助力数据、语音、视觉应用智能化">百度智能云天工物联网支持多种类数据传输,MQTT助力数据、语音、视觉应用智能化</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/12303940U2021.html" title="4D习书之旅|4D习书之旅 第10章"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="4D习书之旅|4D习书之旅 第10章" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/12303940U2021.html" title="4D习书之旅|4D习书之旅 第10章">4D习书之旅|4D习书之旅 第10章</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/10293002162021.html" title="SpringBoot实现阿里云快递物流查询的示例代码"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="SpringBoot实现阿里云快递物流查询的示例代码" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/10293002162021.html" title="SpringBoot实现阿里云快递物流查询的示例代码">SpringBoot实现阿里云快递物流查询的示例代码</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0ZGC23H021.html" title="最美的风景只能自己去欣赏"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="最美的风景只能自己去欣赏" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0ZGC23H021.html" title="最美的风景只能自己去欣赏">最美的风景只能自己去欣赏</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1121334N22021.html" title="使用git将本地代码提交到码云上去"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="使用git将本地代码提交到码云上去" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/1121334N22021.html" title="使用git将本地代码提交到码云上去">使用git将本地代码提交到码云上去</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0Z91Q3X2021.html" title="开心的活着就挺好"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="开心的活着就挺好" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0Z91Q3X2021.html" title="开心的活着就挺好">开心的活着就挺好</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/09252455T2021.html" title="如何挑选生腰果(海南腰果怎么分?)"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="如何挑选生腰果(海南腰果怎么分?)" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/09252455T2021.html" title="如何挑选生腰果(海南腰果怎么分?)">如何挑选生腰果(海南腰果怎么分?)</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0Z21301R2021.html" title="相亲相爱的两宝"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="相亲相爱的两宝" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0Z21301R2021.html" title="相亲相爱的两宝">相亲相爱的两宝</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0ZGD4492021.html" title="炒股如炒菜"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="炒股如炒菜" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0ZGD4492021.html" title="炒股如炒菜">炒股如炒菜</a></p> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer"> <div class="container"> <div class="clearfix"> <div class="footer-col footer-col-logo"> <!--<img src="/skin/images/logo-footer.png">--></div> <div class="footer-col footer-col-copy"> <ul class="footer-nav hidden-xs"> <li class="menu-item menu-item-706"><a href="/baike/">生活百科</a></li> <li class="menu-item menu-item-706"><a href="/it/">it技术</a></li> </ul> <div class="copyright"> <p>Copyright © 2017-2022 锐客网 <a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow">京ICP备11041112号-41</a> </p> </div> </div> <div class="footer-col footer-col-sns"> <div class="footer-sns"> </div> </div> </div> </div> </footer> <div class="action action-style-0 action-color-0 action-pos-1" style="bottom:15%;"> <div class="action-item gotop j-top"> <i class="web-icon wi action-item-icon"><svg aria-hidden="true"> <use xlink:href="#wi-arrow-up-2"></use> </svg></i></div> </div> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?79e4e485d34c6fc717489eaa10b314e3"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <script>var _web_js={};</script> <script src="/skin/js/index.js"></script> </body> </html>