日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

不用Linux也可以的强大文本处理方法

發布時間:2025/3/15 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不用Linux也可以的强大文本处理方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標題黨了,其實是論VIM的使用。

做生物信息分析最合適的還是Linux操作系統,所以生信寶典在最開始就推出了Linux學習系列,由淺入深的講述了Linux學習中的關鍵點。

主要文章列舉如下:

  • Linux學習-文件和目錄
  • Linux學習-文件操作
  • Linux文件內容操作
  • Linux學習-環境變量和可執行屬性
  • Linux學習 - 管道、標準輸入輸出
  • Linux學習 - 命令運行監測和軟件安裝
  • Linux學習-常見錯誤和快捷操作
  • Linux學習-文件列太多,很難識別想要的信息在哪列;別焦急,看這里。
  • [Linux學習-文件排序和FASTA文件操作](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483823&idx=1&sn=ac62450f0475dc9513e75009f0670f45&chksm=ec0dc425db7a4
    d3300f547caeaee709425dd0a41c86be18aab44d41619a4d18944289b0deaf8#rd”})
  • [用了Docker,媽媽再也不擔心我的軟件安裝了 - 基礎篇](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483840&idx=1&sn=f87f6dd703cd8c109f6dc5b8d12ffb7c&chk
    sm=ec0dc44adb7a4d5c9ff2422c730b1d7bb18dcb6947c0e7449f1678aee492c3193302174930b4#rd)
  • [Linux服務器數據定期同步和備份方式](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483950&idx=1&sn=6f4dbc46a064638d7c95b9f99cb1de70&chksm=ec0dc7a4db7a4
    eb20751dd6567b1c97be7d536671af07707eb57bb1ea7865cbde17a0226a6e0#rd)

但有時也需要在Windows下做一些操作,可能是Linux當前不可用,也可能不值得折騰。

實現Linux下復雜而又簡便的操作,VIM配合正則表達式是一個合適的選擇。

VIM是一款功能強大的文本編輯工具,也是我在Linux,Windows下編輯程序和文本最常用的工具。

初識VIM

VIM分多種狀態模式,寫入模式,正常模式,可視化模式。

  • 正常模式:打開或新建文件默認在正常模式,可以瀏覽,但不可以寫入內容。這個模式也可以稱作命令行模式,這個模式下可以使用VIM強大的命令行和快捷鍵功能。其它模式下按ESC就可以到正常模式。
  • 寫入模式:在正常模式下按字母i (光標前插入), o (當前光標的下一行操作), O (當前光標的上一行操作),a (光標后插入)都可以進入寫入模式,就可以輸入內容了。
  • 可視化模式:通常用于選擇特定的內容。

進入寫入模式后,VIM使用起來可以跟記事本一樣了。在寫入文字時,可以利用組合鍵CTRL+n和CTRL+p完成寫作單詞的自動匹配補全,從而加快輸入速度,保證輸入的前后一致。

正常模式有更強大的快捷鍵編輯功能,把手從鼠標上解放出來。

  • dd: 刪除一行
  • 3dd: 刪除一行
  • dw: 刪除一個單詞
  • d3w: 刪除3個單詞
  • yy: 復制一行
  • 3yy: 復制三行
  • yw: 復制一個單詞
  • p: (小寫p)粘貼到下一行
  • P: (大寫P)粘貼到上一行
  • >>: 當前行右縮進一個TAB
  • 3>>: 當前行及后2行都向右縮進一個TAB
  • <<: 當前行左縮進一個TAB
  • 3<<: 當前行及后2行都向左縮進一個TAB
  • /word: 查找特定單詞

  • u: 撤銷上一次操作

  • .: 重復上一次操作
  • CTRL+r: 重做撤銷的操作

  • y$: 從當前復制到行尾

  • d$: 從當前刪除到行尾

跳轉操作

  • gg: 跳到文件開頭
  • G: 跳到文件結尾
  • zt: 當前行作為可視屏幕的第一行
  • 5G: 跳到第5行

正常模式下輸入冒號進入更強大的命令行定制功能。

  • :5d: 刪除第5行
  • :20,24y:復制20到24行
  • :.,+3y:復制當前行和下面3行
  • :2,11>: 右縮進
  • :w: 保存文件
  • :q: 退出編輯器

  • :vsplit: 分屏

鍵盤操作不容易被捕獲,看右下角可以得到一點信息。

VIM還有不少魔性操作,具體可以看這兩個帖子:

  • http://coolshell.cn/articles/5426.html
  • http://coolshell.cn/articles/11312.html

VIM中使用正則表達式

這兒以提取生信寶典公眾號中發過的原創文章的HTML代碼為例子,獲得原創文章的名字和鏈接,用以制作文章列表。

部分數據如下所示,利用正則表達式的第一步就是找規律。

  • 這段文字是JSON格式,列表和字典的組合,使用json函數可以很容易解析。但我們這通過正則表達式解析。
  • title后面跟隨的文章的題目; url后面跟隨的是文章的鏈接。
  • {"和"}標記每篇文章的信息的開始和結束。
  • auth_apply_num是目前不關注的信息。

下面的動畫展示了如何通過正則表達式,把這段文字只保留題目和鏈接,并轉成Markdown的格式。

  • :set wrap: 折行顯示
  • :s/"}, {"/\r/g: :開啟命令行模式;s: 是替換,之前講Linux命令時也多次提及;/作為分割符,三個一起出現,前兩個/中的內容為被替換內容,后兩個/中的內容為替換成的內容;這里沒有使用正則表達式,直接是原字符的替換,\r表示換行符。這樣把每篇文章的信息單行顯示,方便后續處理。
  • :%s/auth_apply.*"title":"/[/:%表示對所有行進行操作;被替換的內容是auth_apply和title":"及其之間的內容(.*表示,.表示任意字符,*表示其前面的字符出現任意次)
  • :%s/".*"url":"/](/:從題目到url之間的內容替換掉;第一次替換時忘記了第一行中開頭還有引號,結果出現了誤操作,后面又退回去,手動刪除特殊部分,其它部分繼續匹配。
  • :%s/$/)/:表示在行尾($)加上), 就組成了Markdown中完整的鏈接形式[context](link)。
  • :%s/^/* /:表示在行首(^)加上*變成Markdown格式的列表

至此就完成了生信寶典公眾號文章到Markdown鏈接的轉換,可以放到菜單欄文章集錦里面方便快速查詢了。

一步步的處理也有些麻煩,有沒有辦法更簡單些呢?

  • 首先也是把每篇文章的信息處理為單行顯示,一樣的模式更容易操作,去掉第一行行首不一致的部分
  • 使用上下箭頭可以回溯之前的命令,類似于Linux終端下的操作
  • %s/.*title":"\([^"]*\).*url":"\(.*\)/* [\1](\2)/c: 這個是記憶匹配,記錄下匹配的內容用于替換,\(和\)表示記憶匹配的開始和結束,自身不匹配任何字符,只做標記使用;從左只右, 第一個\(中的內容記錄為\1, 第二個\(中的內容記錄為\2,以此類推。尤其在存在括號嵌套的情況下,注意匹配位置,左括號出現的順序為準。在匹配文章題目時使用了[^"]*而不是.*,是考慮到正則表達式的匹配是貪婪的,會囊括更多的內容進來,就有可能出現非預期情況,所以做這么個限定,匹配所有非"內容。

正則表達式在數據分析中有很多靈活的應用,可以解決復雜的字符串抽提工作。常用的程序語言或命令如pytho, R, grep, awk, sed都支持正則表達式操作,語法也大體相似。進一步學習可參考一下鏈接:

  • VIM正則表達式 http://blog.csdn.net/u014015972/article/details/50688837
  • Pyton正則表達式 https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

招聘

  • 易漢博歡迎您加入

聯系我們

2

總結

以上是生活随笔為你收集整理的不用Linux也可以的强大文本处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九激情网 | 国产91免费看 | 东方伊甸园av在线 | 91人人草| a天堂资源在线观看 | 奇米精品一区二区三区在线观看 | 欧美做受喷浆在线观看 | 日韩r级电影在线观看 | 黄网站免费在线 | 男男成人高潮片免费网站 | 中文字幕91在线 | 操女人逼逼视频 | 91热在线 | 天天爽天天爽夜夜爽毛片 | 伊人精品在线观看 | 白白色在线播放 | 国产一区二区三区日韩 | 91久色视频 | 日日狠狠久久偷偷四色综合免费 | 亚洲欧美一区二区三区在线 | 国产在线18 | 亚洲视频一区二区三区 | 牛牛影视一区二区三区 | 五月天国产视频 | 色花av| 亚洲男人的天堂网 | 精品乱码一区二区三区四区 | 天堂网国产 | 国产精品白嫩白嫩大学美女 | feel性丰满白嫩嫩hd | 97干干干| 欧美性一区二区三区 | 好男人www社区在线视频夜恋 | 少妇毛片一区二区三区 | 邻居少妇张开腿让我爽了在线观看 | 欧美第一夜 | 在线观看你懂的网址 | 亚洲最大成人网色 | 白峰美羽在线播放 | 人成在线免费视频 | 日韩色婷婷| 久久免费毛片 | 国产亚洲欧美一区二区三区 | 欧美一区国产一区 | 午夜亚洲国产 | 久久精品男人 | 樱桃av| www国产 | 欧美福利在线视频 | 日本少妇吞精囗交 | 92国产精品 | 天天躁夜夜躁av天天爽 | 麻豆成人久久精品一区二区三区 | 被灌满精子的波多野结衣 | 日韩黄大片 | 偷拍亚洲精品 | 视频一区二区欧美 | 女同动漫免费观看高清完整版在线观看 | 美女毛片在线 | 国产视频精品视频 | 国产视频1区2区 | 午夜影片 | 国产情侣酒店自拍 | 国产aa| 91热热| 国产网站在线免费观看 | 91色精品| 中文字幕一区二区三区免费看 | 国产毛片毛片毛片 | www.天天综合 | 国产伦精品视频一区二区三区 | 午夜亚洲AV永久无码精品蜜芽 | 中文字幕亚洲欧美 | 尤物一区二区 | 国产黄色小视频在线观看 | 明星双性精跪趴灌满h | 无码国产伦一区二区三区视频 | 精品久草 | 欧美日韩国产免费一区二区三区 | 国产精品系列在线 | 国产 日韩 欧美 在线 | 日韩大胆人体 | 精品国产无码AV | 日韩在线专区 | 亚洲狠狠| 成人短视频在线观看 | 11孩岁女毛片| 91成人免费在线观看视频 | 天堂网2014| 欧美一级专区 | 亚洲av人人夜夜澡人人 | 一对一色视频聊天a | 国产午夜精品一区二区理论影院 | 最新理伦片eeuss影院 | 一区二区免费看 | 精品国产一二三四区 | 国产亚洲精品久 | 欧美呦呦 | 青青青青青青草 |