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中文字處理命令sed的使用示例分享Linux
- Linux文字處理命令(轉)Linux
- Shell指令碼逐行處理文字檔案技巧指令碼
- 【python技巧】文字處理-re庫字元匹配Python字元
- Linux文字處理詳細教程Linux
- LINUX學習(五)Linux文字處理命令Linux
- 使用 Linux/Unix 進行文字處理Linux
- linux下的文字處理命令sedLinux
- Linux檔案管理知識:文字處理Linux
- Linux文字處理命令sed基本使用示例Linux
- 處理 Linux 檔案的 3 個技巧Linux
- Linux 下 C++ 異常處理技巧LinuxC++
- Linux Shell程式設計(23)——文字處理命令Linux程式設計
- 【譯】建立紋理文字的技巧
- 在 Linux/Unix 中文字處理方式總結Linux
- 10 文字分析處理命令
- python 文字處理操作Python
- 簡單的文字處理
- 文字處理的有關
- Linux開發技巧分享Linux
- 11.9Linux檔案管理知識:文字處理Linux
- Python自然語言處理 3 處理原始文字Python自然語言處理
- PHP (超文字前處理器)PHP
- 文字檢測預處理地址
- Linux 文字處理工具Linux
- 【推薦】超好用的Linux文字文書處理軟體!Linux
- LINUX系統 利用AWK命令處理文字資料過程Linux
- (五)Linux之檔案與目錄管理以及文字處理Linux
- 幾個與文字處理相關的Linux命令總結Linux
- Linux:管道命令與文字處理三劍客(grep、sed、awk)Linux
- linux_shell_awk 處理 文字檔案 並匯入excelLinuxExcel
- 在Linux中,如何使用awk和sed進行文字處理?Linux
- photoshop常用圖片處理技巧
- 二進位制處理技巧
- 【轉載】SHELL字串處理技巧(${}、##、%%)字串
- ps教程篇:如何給文字新增皮革效果(技巧分享)