Linux使用cut進(jìn)行文本提取的操作方法
簡(jiǎn)介
Linux
中的 cut
命令是一個(gè)命令行實(shí)用程序,用于從文件或標(biāo)準(zhǔn)輸入中提取文本行的部分。當(dāng)希望從文件或數(shù)據(jù)流中提取特定字段或列時(shí),例如處理以逗號(hào)分隔或制表符分隔的文件時(shí),它非常有用。
基礎(chǔ)語(yǔ)法
cut
命令通過指定分隔符(例如空格、制表符或特定字符)并選擇想要顯示的列或字段來(lái)工作
cut OPTION... [FILE]...
常用選項(xiàng)
-b, --bytes=LIST
:通過指定一個(gè)字節(jié)、一組字節(jié)或一個(gè)字節(jié)范圍進(jìn)行選擇-c, --characters=LIST
:通過指定一個(gè)字符、一組字符或一個(gè)字符范圍進(jìn)行選擇-d, --delimiter=DELIM
:指定將用來(lái)代替默認(rèn)“TAB”分隔符的分隔符-f, --fields=LIST
:僅選擇這些字段;還打印任何不包含分隔符的行,除非指定了 -s 選項(xiàng)--complement
:補(bǔ)充選擇。使用此選項(xiàng)時(shí),cut 將顯示除所選內(nèi)容之外的所有字節(jié)、字符或字段-s, --only-delimited
:不打印不包含分隔符的行--output-delimiter=STRING
:cut 的默認(rèn)行為是使用輸入分隔符作為輸出分隔符。此選項(xiàng)允許指定不同的輸出分隔符字符串
范圍選擇
N
:第 N 個(gè)字節(jié)、字符或字段,從 1 開始計(jì)數(shù)N-
:從第 N 個(gè)字節(jié)、字符或字段到行尾N-M
:從第 N 到第 M (含) 個(gè)字節(jié)、字符或字段-M
:從第一個(gè)到第 M 個(gè)(含)字節(jié)、字符或字段
示例用法
-f:字段選擇
此選項(xiàng)用于指定要提取哪些字段。字段由分隔符分隔(通常是制表符或空格,但可以使用 -d
選項(xiàng)指定任何分隔符)。
示例:要從文件中提取第一列和第三列
cut -f 1,3 filename
-d:分隔符
此選項(xiàng)指定分隔字段的分隔符。默認(rèn)情況下,cut
假定字段由制表符分隔,但可以指定其他分隔符,如逗號(hào)、冒號(hào)或空格
示例:要從逗號(hào)分隔文件 (CSV) 中提取字段
csv文件
Name,Age,Location Alice,30,New York Bob,25,Los Angeles Charlie,35,Boston
cut -d ',' -f 1,3 filename
示例輸出
Name,Location Alice,New York Bob,Los Angeles Charlie,Boston
-c:字符選擇
這個(gè)選項(xiàng)允許從每行中提取特定字符??梢灾付ㄒ崛〉淖址恢茫ɑ蜃址秶?/p>
示例:提取每行位置 1 至 5 的字符
cut -c 1-5 filename
-b:字節(jié)選擇
此選項(xiàng)允許根據(jù)字節(jié)而不是字符來(lái)截?cái)噍斎?。?dāng)處理面向字節(jié)的數(shù)據(jù)(例如二進(jìn)制文件)時(shí),此功能非常有用。
cut -b 1-5 filename
--complement:反向選擇
該選項(xiàng)允許補(bǔ)充選擇,這意味著它不是選擇指定的字段,而是將其排除
示例:排除第一列(字段)并顯示其余部分
cut -f 1 --complement filename
-s:禁止使用無(wú)分隔符的行
此選項(xiàng)會(huì)隱藏不包含分隔符的行。如果想要排除缺少分隔符的行,此選項(xiàng)非常有用
示例:從文件中提取字段并忽略沒有分隔符的行
cut -d ',' -f 1 -s filename
提取特定字符
有一個(gè)字符串并想提取前 3 個(gè)字符
echo "abcdefg" | cut -c 1-3
輸出
abc
提取多個(gè)字符范圍
要提取多個(gè)范圍的字符(例如,字符 1-3 和 6-8)
echo "abcdefg" | cut -c 1-3,6-8
輸出
abcfg
使用 cut 和 ps 列出進(jìn)程
可以使用 cut 從 ps 命令輸出中提取特定信息
例如:提取進(jìn)程ID和正在運(yùn)行的進(jìn)程的命令
ps aux | cut -d ' ' -f 1,11
使用--complement排除字段
要從 passwd
文件中排除第一個(gè)字段(用戶名)
cut -d ':' -f 1 --complement /etc/passwd
從 ls 的輸出中提取特定列
此命令列出了文件和目錄,但只輸出它們的名稱(ls -l 輸出中的第 9 列)
ls -l | cut -d ' ' -f 9
獲取當(dāng)前目錄中文件的磁盤使用情況
這將僅輸出每個(gè)文件或目錄的大小,不包括路徑信息
du -h | cut -f 1
到此這篇關(guān)于Linux使用cut進(jìn)行文本提取的操作方法的文章就介紹到這了,更多相關(guān)Linux cut文本提取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Vmware虛擬機(jī)安裝centos8報(bào)錯(cuò)“Section?%Packages?Does?Not?End?W
這篇文章介紹了解決Vmware虛擬機(jī)安裝centos8報(bào)錯(cuò)“Section?%Packages?Does?Not?End?With?%End.?Pane?Is?Dead”的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Linux 下dmidecode查看內(nèi)存條數(shù)的命令介紹
下面小編就為大家?guī)?lái)一篇Linux 下dmidecode查看內(nèi)存條數(shù)的命令介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-11-11Linux安裝Jenkins步驟及各種問題解決(頁(yè)面訪問初始化密碼)
這篇文章主要介紹了Linux安裝Jenkins步驟及各種問題頁(yè)面訪問初始化密碼,需要的朋友可以參考下2019-12-12簡(jiǎn)單談?wù)凩inux內(nèi)核定時(shí)器
內(nèi)核定時(shí)器用于控制某個(gè)函數(shù)(定時(shí)器處理函數(shù))在未來(lái)的某個(gè)特定時(shí)間執(zhí)行.內(nèi)核定時(shí)器注冊(cè)的處理函數(shù)只執(zhí)行一次.處理過后即失效.2017-10-10Linux date命令知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享的是關(guān)于Linux date命令詳細(xì)說(shuō)明,有興趣的朋友們跟著學(xué)習(xí)下。2020-02-02Linux啟動(dòng)/停止/重啟Mysql數(shù)據(jù)庫(kù)的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)?lái)一篇Linux啟動(dòng)/停止/重啟Mysql數(shù)據(jù)庫(kù)的簡(jiǎn)單方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-10-10