Linux文字處理技巧分享
導讀 | 作為一名 研發人員,幾乎每天都要面對文字處理場景。 因此 掌握文字處理套路 並 熟練運用文字處理 ,對於 提升工作效率 意義重大。本文以一個實戰例子拋磚引玉,介紹如何運用 grep 、 awk 、 sed 、 cut 等 進行文字處理, 以 快速 完成原本很繁瑣的操作。 |
背景
筆者開發機上有很多 Docker 映象,現在需要刪除名為 none 的那些:
$ docker images
如何操作呢?莫非手工一個個刪除麼?
$ docker image rm f0fa889be9e8
試想,如果有上百個這樣的映象待刪,要搞到何年何月!但如何改進呢?
文字過濾
考慮先把名字為 none 的映象從結果中過濾出來, grep 命令即可搞定:
$ docker images | grep none
欄位提取
接著,將容器 ID 一列提取出來,這對 awk 來說簡直是小兒科:
$ docker images | grep none | awk '{print $3}'
當然了,透過 cut命令進行 欄位切分 也可以得到相同的結果。 由於 cut 只能按單個字元進行切分,而原文字中的空格為多個,因此需要先進行 文字替換 。
文字替換
文字替換是 sed 命令擅長的事,下面將一個或多個空格替換成一個:
$ docker images | grep none | sed 's/ */ /g'
文字切分
接下來,使用 cut 命令對結果進行進一步切分並取出第三個欄位:
$ docker images | grep none | sed 's/ */ /g' | cut -d ' ' -f 3
不錯,我們得到與運用 awk 命令相同的結果。
批次刪除
接下來,透過 xargs 批次刪除映象:
$ docker images | grep none | awk '{print $3}' | xargs docker image rm
在這個例子中, xargs 最終將執行以下命令:
$ docker image rm f0fa889be9e8 257954316455 99739acbfe7a 52b10754a70c 86878eefdd39
看到沒有,所有不想要的映象都刪除乾淨了,而且只需要進行一次操作:
$ docker images
下面這個操作也是等價的:
$ docker images | grep none | sed 's/ */ /g' | cut -d ' ' -f 3 | xargs docker image rm
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2687061/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計小技巧之 Linux 文字處理命令(二)程式設計Linux
- Linux文字處理命令Linux
- Linux文字處理詳細教程Linux
- 【python技巧】文字處理-re庫字元匹配Python字元
- Shell指令碼逐行處理文字檔案技巧指令碼
- Linux檔案管理知識:文字處理Linux
- 處理 Linux 檔案的 3 個技巧Linux
- 11.9Linux檔案管理知識:文字處理Linux
- 【譯】建立紋理文字的技巧
- Linux開發技巧分享Linux
- 幾個與文字處理相關的Linux命令總結Linux
- 在Linux中,如何使用awk和sed進行文字處理?Linux
- linux100day(day4)--文字處理三劍客Linux
- (五)Linux之檔案與目錄管理以及文字處理Linux
- LINUX系統 利用AWK命令處理文字資料過程Linux
- Linux:管道命令與文字處理三劍客(grep、sed、awk)Linux
- 【推薦】超好用的Linux文字文書處理軟體!Linux
- Linux教程《Linux指令入門-文字處理》-阿里雲體驗實驗室Linux阿里
- 10 文字分析處理命令
- linux故障處理Linux
- 文字檢測預處理地址
- PHP (超文字前處理器)PHP
- FSNotes for mac文字處理軟體Mac
- FSNotes for mac 文字處理軟體Mac
- 二、淺談 JSON 處理技巧JSON
- photoshop常用圖片處理技巧
- 文字預處理技術詳解
- Python文字資料分析與處理Python
- PyMuPDF框架學習(pdf文字處理)框架
- 如何使用awk處理文字內容
- 處理文字資料(上):詞袋
- ps教程篇:如何給文字新增皮革效果(技巧分享)
- 文字相似度 HanPL漢語言處理
- 文字處理用c還是用pythonPython
- 如何快速處理證件文字識別
- Linux程式卡死,如何處理?Linux
- linux 訊號與處理Linux
- ORACLE GoldenGate 使用技巧-容錯處理等OracleGo