陶陶要学VIM,我告诉他重要的是掌握正则表达式。
这里是一个实例,有一个文件只有一行,格式如下,这里只是一部分而已,整个文件是96k,意思是有将近10万字,等于一部中篇小说的规模。
biblicalhebrew1000trueBBH.1st.02.pdf2014-08-16T19:44:36.000Z”755e7cd975576e1d20bd03f0a7710e58″221182STANDARDBBH.1st.17.pdf2014-04-15T00:12:57.000Z”324b3860930bda5f86a5dca5361b97b6″142163STANDARDBBHAnswerKey.pdf2012-11-14T04:50:08.000Z”2ab089d77ab6868d91739dd468b95c98″859117STANDARDBasicsBiblicalHebrew-01.pdf2012-11-14T04:18:22.000Z”a455afeef91db4efc614a57353019da3″182485STANDARDBasicsBiblicalHebrew-01.pptx2012-12-27T20:22:10.000Z”5f70242dd072601a8ccb8ef7fd824a9d”1621176STANDARDBasicsBiblicalHebrew-02(alt).pdf2012-11-14T04:18:22.000Z”db219f9bb368c37368865758fc231cb5″1177624STANDARDBasicsBiblicalHebrew-02.pdf2012-11-14T04:18:22.000Z”a19e1d67e8bc86b1c3cab2916cfb3301″179926STANDARDBasicsBiblicalHebrew-02.pptx2012-12-27T20:22:14.000Z”ca5f65291e08ae2a6b0b76fd0357c28a”1790552STANDARDBasicsBiblicalHebrew-03.pdf2012-11-14T04:18:23.000Z”619ce199464d70fca7ca2b766881dc84″198066STANDARDBasicsBiblicalHebrew-03.pptx2012-12-27T20:22:17.000Z”fc65ce72054e66ba70bf7886d105f8b8″4195642STANDARDBasicsBiblicalHebrew-04.pdf2012-11-14T04:18:22.000Z”4dc2eb67a485d737b4c46e7b9c1e566c”187784STANDARDBasicsBiblicalHebrew-04.pptx2012-12-27T20:22:24.000Z”110e700fa6db0eecf6a38ef2a822b264″4822171STANDARDBasicsBiblicalHebrew-05.pdf2012-11-14T04:18:22.000Z”21d644adbfb30c0d526c7aef813ac697″180454STANDARDBasicsBiblicalHebrew-05.pptx2012-12-27T20:22:32.000Z”967a11aba933ab6831b0f4ff79e0a5af”1994697STANDARDBasicsBiblicalHebrew-06.pdf2012-11-14T04:18:22.000Z”389fa94db63cee7a9d0d2d652a4ef2ca”187729STANDARDBasicsBiblicalHebrew-06.pptx2012-12-27T20:22:36.000Z”23671b6af47e0456f3410f16c77813e1″2557702STANDARDBasicsBiblicalHebrew-07.pdf2012-11-14T04:18:22.000Z”804be56f31d5d1b41f77dd541a9d3232″152963STANDARDBasicsBiblicalHebrew-07.pptx2012-12-27T20:22:40.000Z”04f424cfdf8943d4b8eacbe4f4085842″1556865STANDARDBasicsBiblicalHebrew-08.pdf2012-11-14T04:18:23.000Z”ed0ef5d64fdfb45bc1d62f20744e5cbc”178000STANDARDBasicsBiblicalHebrew-08.pptx2012-12-27T20:22:43.000Z”a27b9985eb806a49cb64e43301ec12dd-2″5337695STANDARDBasicsBiblicalHebrew-09.pdf2012-11-14T04:18:23.000Z”113f605
根据我的分析,这是若干文件名+创建时间+MD5验证码等组成。
现在我感兴趣的是其中的文件名,一共有1000个文件。这些文件名前面有‘STANDARD’, 后面则是日期,例如’2012-11-14’。
如果我自己提取每个文件,至少需要增加眼镜度数100度,用掉4-5个小时,而且还造成头昏脑胀眼发黑,抑郁躁狂健忘症。
这时候就需要正则表达式了。
××××××××××××××××××××××××××××
我机器上装着minGW和cygwin两种Linux模拟器,所以简单的运行 sed 命令:
cat bibHeb.txt | sed s/STANDARD/\\n/g >output.txt
cat output.txt | sed s/\(.*\)201\d.*\1/g > final.txt
两句话搞定。于是今晚可以早点睡觉了。
×××××××××××××××××××××××××××
我的Linux是非非逼着我学习的,他把我的计算机直接装了gentoo,三年的时间我没有用windows,总算入门了。好处是不再玩游戏了。
我的VIM主要是看着川川工作的时候,FAQ他而学了一点皮毛。我觉得川川是中国最好的Java和VIM专家之一。
于是突然有点怀念我作为程序菜鸟的日子。