cat file.csv | awk -F '\t' '{print $2}'
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出祥云免費(fèi)做網(wǎng)站回饋大家。
'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符號(hào)分割,換成其她符號(hào);
'{print $2}'是指取第2列,此處從1開(kāi)始計(jì)數(shù),第1列,第2列;
一般去重之前要進(jìn)行排序
cat file.csv | awk -F '\t' '{print $2}'?| sort | uniq
前半部分與命令1一樣,后面加上| sort | uniq
比如通過(guò)命令2發(fā)現(xiàn),第2列取值有兩種,分別是'neg'和‘pos’,那么我想知道有多少行的第2列取值為'pos',多少行的第2列取值為'neg'。
cat file.csv | awk -F '\t' '{print $2}'?|?grep -o 'neg'| wc -l
前半部分與命令1一樣,后面加上?|?grep -o 'neg'| wc -l
grep -o 'neg'就是取出取值為'neg'的行
wc -l 是計(jì)數(shù)有多少行
在本教程中,我們將向您展示如何使用多個(gè)命令,并使用 ls、egrep、wc 和 find 命令執(zhí)行一些高級(jí)操作。 下面的命令將可用在多個(gè)方面。
為了實(shí)驗(yàn),我打算總共創(chuàng)建 7 個(gè)文件和 2 個(gè)文件夾(5 個(gè)常規(guī)文件和 2 個(gè)隱藏文件)。 下面的 tree 命令的輸出清楚的展示了文件和文件夾列表。
# tree -a /opt
/opt
├──magi
│ └──2g
│ ├──test5.txt
│ └──.test6.txt
├──test1.txt
├──test2.txt
├──test3.txt
├──.test4.txt
└──test.txt
2directories,7files
示例 1
統(tǒng)計(jì)當(dāng)前目錄的文件(不包括隱藏文件)。 運(yùn)行以下命令以確定當(dāng)前目錄中有多少個(gè)文件,并且不計(jì)算點(diǎn)文件(LCTT 譯注:點(diǎn)文件即以“.” 開(kāi)頭的文件,它們?cè)?Linux 默認(rèn)是隱藏的)。
# ls -l . | egrep -c '^-'
4
細(xì)節(jié):
ls : 列出目錄內(nèi)容
-l : 使用長(zhǎng)列表格式
. : 列出有關(guān)文件的信息(默認(rèn)為當(dāng)前目錄)
| : 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步處理的控制操作符
egrep : 打印符合模式的行
-c : 通用輸出控制
'^-' : 以“-”開(kāi)頭的行(ls -l 列出長(zhǎng)列表時(shí),行首的 “-” 代表普通文件)
示例 2
統(tǒng)計(jì)當(dāng)前目錄包含隱藏文件在內(nèi)的文件。 包括當(dāng)前目錄中的點(diǎn)文件。
# ls -la . | egrep -c '^-'
5
示例 3
運(yùn)行以下命令來(lái)計(jì)數(shù)當(dāng)前目錄的文件和文件夾。 它會(huì)計(jì)算所有的文件和目錄。
# ls -l | wc -l
5
細(xì)節(jié):
ls : 列出目錄內(nèi)容
-l : 使用長(zhǎng)列表格式
| : 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步處理的控制操作符
wc : 這是一個(gè)統(tǒng)計(jì)每個(gè)文件的換行符、單詞和字節(jié)數(shù)的命令
-l : 輸出換行符的數(shù)量
Linux read命令用于從標(biāo)準(zhǔn)輸入讀取數(shù)值。
read 內(nèi)部命令被用來(lái)從標(biāo)準(zhǔn)輸入讀取單行數(shù)據(jù)。這個(gè)命令可以用來(lái)讀取鍵盤(pán)輸入,當(dāng)使用重定向的時(shí)候,可以讀取文件中的一行數(shù)據(jù)。
參數(shù)說(shuō)明:
1、簡(jiǎn)單讀取
測(cè)試結(jié)果為:
2、-p 參數(shù),允許在 read 命令行中直接指定一個(gè)提示。
測(cè)試結(jié)果為:
3、-t 參數(shù)指定 read 命令等待輸入的秒數(shù),當(dāng)計(jì)時(shí)滿時(shí),read命令返回一個(gè)非零退出狀態(tài)。
執(zhí)行程序不輸入,等待 5 秒后:
4、除了輸入時(shí)間計(jì)時(shí),還可以使用 -n 參數(shù)設(shè)置 read 命令計(jì)數(shù)輸入的字符。當(dāng)輸入的字符數(shù)目達(dá)到預(yù)定數(shù)目時(shí),自動(dòng)退出,并將輸入的數(shù)據(jù)賦值給變量。
該例子使用了-n 選項(xiàng),后接數(shù)值 1,指示 read 命令只要接受到一個(gè)字符就退出。只要按下一個(gè)字符進(jìn)行回答,read 命令立即接受輸入并將其傳給變量,無(wú)需按回車鍵。
只接收 2 個(gè)輸入就退出:
執(zhí)行程序輸入兩個(gè)字符:
5、 -s 選項(xiàng)能夠使 read 命令中輸入的數(shù)據(jù)不顯示在命令終端上(實(shí)際上,數(shù)據(jù)是顯示的,只是 read 命令將文本顏色設(shè)置成與背景相同的顏色)。輸入密碼常用這個(gè)選項(xiàng)。
執(zhí)行程序輸入密碼后是不顯示的:
6.讀取文件
每次調(diào)用 read 命令都會(huì)讀取文件中的 "一行" 文本。當(dāng)文件沒(méi)有可讀的行時(shí),read 命令將以非零狀態(tài)退出。
通過(guò)什么樣的方法將文件中的數(shù)據(jù)傳給 read 呢?使用 cat 命令并通過(guò)管道將結(jié)果直接傳送給包含 read 命令的 while 命令。
測(cè)試文件 test.txt 內(nèi)容如下:
測(cè)試代碼:
執(zhí)行結(jié)果為:
使用 -e 參數(shù),以下實(shí)例輸入字符 a 后按下 Tab 鍵就會(huì)輸出相關(guān)的文件名(該目錄存在的):
正?,F(xiàn)象。linux下wc-l這個(gè)命令統(tǒng)計(jì)行數(shù)不包含最后一行沒(méi)有回車的數(shù)據(jù),因?yàn)閣c–l是按作為行結(jié)束符統(tǒng)計(jì)行數(shù),所以最后一行沒(méi)有就會(huì)統(tǒng)計(jì)丟失。