命令列技巧:分割檔案內容
Fedora 發行版是一個功能齊全的作業系統,有出色的圖形化桌面環境。使用者可以很容易地透過單擊動作來完成任何典型任務。所有這些美妙的易用性掩蓋了其底層強大的命令列細節。本文是向你展示一些常見命令列實用程式的系列文章的一部分。讓我們進入 shell 來看看 cut
。
通常,當你在命令列中工作時,你處理的是文字檔案。有時這些檔案可能很長,雖然可以完整地閱讀它們,但是可能會耗費大量時間,並且容易出錯。在本文中,你將學習如何從文字檔案中提取內容,並從中獲取你所需的資訊。
重要的是要意識到,在 Fedora 中有許多方法可以完成類似的命令列任務。例如,Fedora 倉庫含有用於解析和處理文字的完整語言系統。此外,還有多個命令列實用程式可用於 shell 中任何可能的用途。本文只關注使用其中幾個實用程式選項,從檔案中提取一些資訊並以可讀的格式呈現。
cut 使用
為了演示這個例子,在系統上使用一個標準的大檔案,如 /etc/passwd
。正如本系列的前一篇文章所示,你可以執行 cat
命令來檢視整個檔案:
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
此檔案包含系統上所有所有賬戶的資訊。它有一個特定的格式:
name:password:user-id:group-id:comment:home-directory:shell
假設你只想要系統上所有賬戶名的列表,如果你只能從每一行中刪除 “name” 值。這就是 cut
命令派上用場的地方!它一次處理一行輸入,並提取該行的特定部分。
cut
命令提供了以不同方式選擇一行的部分的選項,在本示例中需要兩個,-d
和 -f
。-d
選項允許你宣告用於分隔行中值的分隔符。在本例中,冒號(:
)用於分隔值。-f
選項允許你選擇要提取哪些欄位值。因此,在本例中,輸入的命令是:
$ cut -d: -f1 /etc/passwd
root
bin
daemon
adm
...
太棒了,成功了!但是你將輸出列印到標準輸出,在終端會話中意味著它需要佔據螢幕。如果你需要稍後完成另一項任務所需的資訊,這該怎麼辦?如果有辦法將 cut
命令的輸出儲存到文字檔案中,那就太好了。對於這樣的任務,shell 有一個簡單的內建功能,重定向功能(>
)。
$ cut -d: -f1 /etc/passwd > names.txt
這會將 cut
的輸出放到一個名為 names.txt
的檔案中,你可以使用 cat
來檢視它的內容:
$ cat names.txt
root
bin
daemon
adm
...
使用兩個命令和一個 shell 功能,可以很容易地使用 cat
從一個檔案進行識別、提取和重定向一些資訊,並將其儲存到另一個檔案以供以後使用。
via: https://fedoramagazine.org/command-line-quick-tips-cutting-content-out-of-files/
作者:Stephen Snow 選題:lujun9972 譯者:MjSeven 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
相關文章
- Linux命令根據某一列對檔案內容去重Linux
- Linux 檢視檔案內容——bat 命令LinuxBAT
- java檔案相關(檔案追加內容、檔案內容清空、檔案內容讀取)Java
- Linux檔案內容檢視相關命令Linux
- 快速上手Linux核心命令(四):檔案內容相關命令Linux
- Linux檢視檔案內容常用命令Linux
- 在 Linux 命令列中使用 ls 列出檔案的技巧Linux命令列
- 使用 split 命令分割 Linux 檔案Linux
- Linux常用命令!如何檢視檔案內容?Linux
- 常用的7個Linux檔案內容檢視命令!Linux
- Linux如何檢視檔案內容?Linux常用命令Linux
- Linux常用命令之如何檢視檔案內容?Linux
- 檔案內容比較
- vim內替換檔案內容
- 命令列技巧:使用 find 和 xargs 查詢和處理檔案命令列
- 命令列生成jar檔案命令列JAR
- Shell 命令求兩個檔案每行對比的相同內容
- Linux學習之常用的Linux檔案內容檢視命令!Linux
- git檢視檔案內容Git
- 檔案內容對比工具
- 使用ln同步檔案內容,支援忽略檔案
- 在Linux中,如何使用grep命令查詢檔案中的內容?Linux
- Linux系統檔案學習內容多嗎?linux系統命令Linux
- Linux檔案過濾及內容編輯處理命令總結!Linux
- Golang命令列拷貝檔案Golang命令列
- Linux shell命令列檢視判斷檔案是內部內建自帶命令還是外部命令Linux命令列
- vite vue-cli 讀取檔案原始內容 使用base64內容的檔案ViteVue
- mybatis讀取properties檔案內容MyBatis
- 實用解析dmp檔案內容
- node中給檔案追加內容
- ftp上直接修改檔案內容FTP
- 使用GeoTools解析shp檔案內容
- linux-批次修改檔案內容Linux
- 搜尋本地pdf檔案內容
- python中修改檔案行內容Python
- python操作檔案寫入內容Python
- php獲取xml檔案內容PHPXML
- python 檔案操作(二) 替換性修改檔案內容Python