新聞中心
Linux 是一種非常強(qiáng)大和快速的操作系統(tǒng),因?yàn)樗梢詧?zhí)行各種功能和命令。在日常工作中,頻繁處理文本數(shù)據(jù)是常見的一個(gè)任務(wù),此時(shí)操作流程的高效性就變得非常重要。例如,您需要輸出文件的最后幾列。那么,如何在 Linux 系統(tǒng)中打印文件的后幾列呢?讓我們一起來探討。

創(chuàng)新互聯(lián)是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、網(wǎng)站制作、做網(wǎng)站、網(wǎng)站備案、服務(wù)器租用、域名注冊(cè)、軟件開發(fā)、小程序定制開發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站來電聯(lián)系:028-86922220
一、關(guān)于 Awk 命令
Awk 是一種強(qiáng)大的文本處理工具,它可以通過對(duì)文件/文本進(jìn)行掃描、匹配和處理,使操作簡(jiǎn)便。在本程序中,我們將使用 Awk 命令來打印文件的后幾列。
二、如何使用 Awk 命令
在 Linux 操作系統(tǒng)中,我們可以使用 Awk 命令來打印文件中的列,包括 Print 和 Awk Print。Print 命令非常直觀和簡(jiǎn)單,它可以像下面這樣工作:
1.打印文件的之一列
$ awk ‘{print $1}’ filename
2.打印文件的第三列
$ awk ‘{print $3}’ filename
3.打印文件的第二、第三和第四列
$ awk ‘{print $2,$3,$4}’ filename
除此之外,我們還可以使用 Awk 的 Print 命令來實(shí)現(xiàn)對(duì)文件的后幾列的輸出。其中 Print 命令的語法如下:
awk ‘{print $NF-3,$NF-2,$NF-1,NF}’ filename
其中,NF 代表文件的最后一行,而 $NF 代表文件的每一行。在上面的例子中,我們通過 $NF-3,$NF-2,$NF-1 可以打印文件的倒數(shù)第四列、倒數(shù)第三列和倒數(shù)第二列。另外,我們還可以使用 NF 指定打印的列數(shù)。所以,如果我們想要打印文件的倒數(shù)5列及其余列,則可以執(zhí)行如下命令:
$ awk ‘{print $(NF-5),$(NF-4),$(NF-3),$(NF-2),$(NF-1),$(NF)}’ filename
三、使用處理方法
在實(shí)際工作中,我們可能會(huì)在處理完數(shù)據(jù)后,將數(shù)據(jù)復(fù)制到各種格式的文件中。如果我們需要將文件中的后幾列復(fù)制到其他文本編輯器中呢?在這里,我們可以使用以下處理方法:
1.通過 Awk 命令將文件的后幾列輸出到其他文件中。比如,將文件的倒數(shù) 3 列寫入一個(gè)新的文件中,可以使用以下命令:
$ awk ‘{print $(NF-2)}’ filename > new_file
其中 `>` 符號(hào)用于將輸出結(jié)果重定向到已經(jīng)建立好的新文件中。
2.使用文本編輯器復(fù)制后幾列。如果您需要僅僅從屏幕上復(fù)制出幾列,在打印完整個(gè)文件后,可以通過文本編輯器處理完成。例如,使用 Vim 編輯器,在輸入以下命令行:
$ vim filename
在文件打開后,請(qǐng)按下 `Ctrl + v` 來進(jìn)入 Visual Mode,然后您可以使用箭頭鍵來選擇您想要跨越的行和列。然后按下 `y` 鍵來復(fù)制選中的內(nèi)容?,F(xiàn)在,數(shù)據(jù)已經(jīng)被復(fù)制到 Vim 的緩存中。請(qǐng)打開一個(gè)新的文件,并按下 `p` 鍵,然后將內(nèi)容粘貼到新文件中。
四、
掌握在 Linux 操作系統(tǒng)中打印文件的后幾列的技巧,必定會(huì)成為您在日常工作中非常有用的技能。在本文中,我們以 Awk 命令為例介紹了如何打印文件的后幾列,同時(shí)也介紹了相關(guān)處理方法。希望本文中的內(nèi)容對(duì)您有所幫助。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
情景l(fā)inux–如何得出一個(gè)文件的第二列?
曾經(jīng)有一同事問我,在linux下如何輸出一個(gè)文本文件的第二列,文本內(nèi)容不限。我不假思索地說用 awk 啊。改坦升她追問只有這一種方式么?于是我仔細(xì)想了想,……
既然內(nèi)容不限,則可以自定義文件內(nèi)容的格式,這樣可以用的命令自然會(huì)多一些。
需求為輸出文件第二列,則基本上有兩種方式實(shí)現(xiàn):
因而,任何能直接輸出特定列的命令,以及能夠截取或刪除其它列的命令都滿足此需求。
為了方便說明,列舉幾個(gè)示例文件:
awk自然是最容易想到的,它處理格式化的文本得心應(yīng)手。
使用 -F 指定列(字段)
分隔符
。
如果文件只有兩列,還可以使用 $NF ,如信碼 awk ‘{print $NF}’ test1.txt 。
awk還支持一些函數(shù),同樣可以將第二列提取出來,此處不再贅述。
cut命令的默認(rèn)字段分隔符是 TAB ,可以使用 -d 重新指定。 -f 列出指定字段。
如果第二列的字符的起始和結(jié)束序號(hào)為固定值,如test2.txt,可以使用 -c 參數(shù),截取特定的字符序列。
sed采用的是第二種實(shí)現(xiàn)方式,即將其它列刪除掉,利用 后向引用 :
在test1.txt中,第二列的前面和后面分別為數(shù)字空格和空格數(shù)字,所以可以利用
正則表達(dá)式
將其輸出出來。
同理:
colrm命令可以刪除標(biāo)準(zhǔn)輸入中的指定列,但
該命令中所定義的列指的是單個(gè)字符
,這與常規(guī)對(duì)字段的定義不同,需注意。
格式如下:
如果只指定start,則大于等于start的列均被刪除;如果指定了start和stop,則大于等于start,小于等于stop的列被刪除。
因此,此命令可處理第二個(gè)字段起始位置為固定值的test2.txt文件。
read讀取文件中的每行,將特定的列輸出來。
shell支持命令替換,通過兩次命令替換,得到第二列核老:
雖然不清楚她從哪里看到的這道題目,題目本身是何用意。但以一個(gè)問題,調(diào)動(dòng)起了對(duì)linux多個(gè)命令及知識(shí)點(diǎn)的學(xué)習(xí)和總結(jié),還是有價(jià)值的。
歡迎提出不同解法!
相關(guān)命令
關(guān)于linux 打印后幾列的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港云服務(wù)器機(jī)房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
網(wǎng)頁名稱:Linux操作系統(tǒng)技巧:如何打印文件的后幾列?(linux打印后幾列)
鏈接分享:http://fisionsoft.com.cn/article/dhhhipg.html


咨詢
建站咨詢
