提取檔案出錯 命令列技巧 分割檔案內容

2021-10-14 16:17:21 字數 1610 閱讀 3275

fedora 發行版是乙個功能齊全的作業系統,有出色的圖形化桌面環境。使用者可以很容易地通過單擊動作來完成任何典型任務。所有這些美妙的易用性掩蓋了其底層強大的命令列細節。本文是向你展示一些常見命令列實用程式的系列文章的一部分。讓我們進入 shell 來看看 cut。

通常,當你在命令列中工作時,你處理的是文字檔案。有時這些檔案可能很長,雖然可以完整地閱讀它們,但是可能會耗費大量時間,並且容易出錯。在本文中,你將學習如何從文字檔案中提取內容,並從中獲取你所需的資訊。

重要的是要意識到,在 fedora 中有許多方法可以完成類似的命令列任務。例如,fedora 倉庫含有用於解析和處理文字的完整語言系統。此外,還有多個命令列實用程式可用於 shell 中任何可能的用途。本文只關注使用其中幾個實用程式選項,從檔案中提取一些資訊並以可讀的格式呈現。

$ 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 從乙個檔案進行識別、提取和重定向一些資訊,並將其儲存到另乙個檔案以供以後使用。

linux 命令列開啟檔案

在mac下的終端裡可以輸入open來開啟任意型別的檔案,linux下是否也有類似的命令呢?經查,發現有三個命令可以實現類似效果 see通過查詢在mailcap檔案中設定的檔案型別和應用程式對映來開啟檔案。系統配置檔案在 etc mailcap,使用者可以自定義配置檔案到 mailcap。通過see呼...

命令列下檔案打包

windows rar 1 打包桌面所有檔案 rar.exe a k r s m3 d 1.rar c users bezal desktop 2 只打包指定字尾檔案 只打包doc字尾檔案 n doc rar.exe a k r s m3 tk n doc d 4.rar c users bezal...

HDFS檔案操作 命令列

haddop fs ls 查詢目錄 hadoop fs mkdir test 在根目錄下建立乙個目錄test hadoop fs put test.txt test 將本地的test.txt檔案上傳到hdfs根目錄下的test資料夾中去 hadoop fs copyfromlocal test.tx...