iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

文字處理

文字處理工具在Linux中非常重要,因為它們提供了處理文本數據的強大能力,可以應用於多種情境,從數據分析到系統管理都可以受益於這些工具。它們提供了一種靈活的方式來操作和處理文本數據,並且在自動化任務中也非常有用。
主要用途如下

  1. 輸出提取和轉換
  2. log分析
  3. 過濾輸出
  4. 編輯config
  5. 批量處理文件
  6. 文本比對與搜尋
    其中以以下幾個工具較為常用

diff

用於比較兩個文件或目錄的差異,並顯示它們之間的不同之處,可以幫助我們找出文件的修改內容。
E.G. 用diff來比較兩個版本的文件並觀察差異。

grep

  • Unix作業系統中使用的強大文本搜尋工具。
  • 名稱來自於"global regular expression print"(全局正則表達式輸出)
  • 用於在文本文件中搜尋指定的pattern(預設以BRE格式)並將匹配的行輸出
  • 語法
    grep [OPTION...] PATTERNS [FILE...]
    FILE可接受文件或標準輸入(stdin)
    PATTERN為字串或包含變數時須使用雙引號,單引號用於regex
  • 常用選項
    • -E: 將pattern以ere(擴展正則表達式)表達
    • -e: 指定多個pattern時用
    • -i: 忽略大小寫
    • -v: 反向搜尋

sed

用於純文字字串操作和流編輯(編輯管線重導向的內容
)sed和vi都源於早期UNIX的ed工具,所以很多sed命令和vi的末行命令是相同的。

  • 語法: sed OPTIONS... [SCRIPT] [INPUTFILE...]
    其中option的格式為[addr]X[options]
  • addr: 指定尋找位置範圍(m,n)
  • X: 指定行為
    • a: 新增
    • c: 整行取代
    • d: 刪除
    • i: 插入
    • p: 輸出(print)
    • s: 取代,與c的不同是s可以指定部份內容進行取代
      [addr]s/regexp/replacement/g

REF

man {diff,grep,sed}
wikipedia
https://shihyu.github.io/books/ch32s03.html
https://www.gnu.org/software/sed/manual/sed.html#Introduction
https://linux.vbird.org/linux_basic/centos7/0330regularex.php#sed


上一篇
Day10: REGEX
下一篇
Day12: Json處理
系列文
I Use Linux BTW: 談Linux與其指令30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言