Cut#
Linux 的 cut 命令主要由 GNU 專案維護,屬於 GNU Coreutils 工具集的一部分。
cut 指令可根據分隔符號來切割欄位,或直接指定字元位置進行擷取,並支援多種選項來控制輸出格式。
Install#
$ sudo apt install coreutilsOperate#
基本語法:
cut [options] file| 參數 | 說明 |
|---|---|
| -b | 根據字元位置切割欄位 |
| -c | 根據字元位置切割欄位 |
| -d | 指定欄位分隔符號,預設為 Tab |
| -f | 指定要擷取的欄位 |
| –complement | 反向選擇,輸出未被選擇的部分 |
| -s | 僅處理包含分隔符號的行 |
| 用途 | 示範 | 說明 |
|---|---|---|
| 指定分隔符與欄位 | cut -d ',' -f 1 file.txt | 使用逗號作為分隔符,擷取第一欄 |
| 擷取多個欄位 | cut -d ',' -f 1,3 file.txt | 擷取第一與第三欄 |
| 欄位範圍 | cut -d ',' -f 2-4 file.txt | 擷取第二到第四欄 |
| 反向選取欄位 | cut -d ',' --complement -f 2 file.txt | 擷取除第二欄外的所有欄位 |
| 忽略沒有分隔符的行 | cut -d ',' -s -f 1 file.txt | 僅處理包含逗號的行,擷取第一欄 |
| 擷取指定字元位置 | cut -c 1-5 file.txt | 擷取每行的前五個字元 |
| 依位元組擷取(較少使用) | cut -b 1-10 file.txt | 擷取每行的前十個位元組 |
Reference#
Official docs: