cut 命令構建器
產生 cut 指令,從每一行中移除部分內容
cut 入門
## 什麼是 cut?
`cut` 會從檔案的每一行擷取指定的區段。您可以依欄位(搭配分隔符)、依字元位置或依位元組位置來選取。
## 如何使用
1. **選擇選取模式**:`-f` 欄位、`-c` 字元或 `-b` 位元組。 2. **設定分隔符**(欄位模式):`-d` 預設為 TAB。 3. **指定檔案**:輸入要處理的檔案。 4. **複製並執行**:將產生的指令複製到終端機執行。
選取語法
### `-f LIST` 欄位 以逗號分隔的欄位編號或範圍清單,例如 `1,3`、`1-3`、`2-`(第 2 欄到結尾)或 `-3`(到第 3 欄為止)。若分隔符不是 TAB,必須搭配 `-d`。
### `-c LIST` 字元 依字元位置選取,例如 `-c 1-10` 表示每行取前 10 個字元。
### `-b LIST` 位元組 與 `-c` 類似,但以位元組計數(對多位元編碼而言與字元不同)。
### `-d DELIM` 欄位分隔符 以 `DELIM` 作為欄位分隔符(預設 TAB)。只能是單一字元。
### `-s` 僅含分隔符 不輸出沒有包含分隔符的行。
### 範例 - `cut -d , -f 1,3 data.csv` — 擷取 CSV 第 1、3 欄 - `cut -c 1-80 file.txt` — 將每行截斷為 80 個字元
▶-c 和 -f 有什麼差別?
`-f` 針對由某字元分隔的欄位運作(預設 TAB,可用 `-d` 設定)。`-c` 則不論是否有分隔符,一律依固定字元位置運作。
▶為什麼我的 CSV 欄位抓錯了?
包含引號逗號的 CSV 無法用 `cut` 解析,因為它不懂引號規則。對於沒有內嵌逗號的簡單 CSV 可用 `-d ,`;否則請改用專用的 CSV 解析器(例如 `csvtool`、`mlr`,或本站的 CSV 工具)。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。