Linux命令行中對錶格類型文本的幾處操做總結

Linux命令行中對打印成表格類型的文本進行操做shell

運行環境:Red Hat Enterprise Linux Server release 6.4 (Santiago)
spa

先建立一個文件list.txt,包含三列數據(姓名、年齡、職業)命令行

每行一組數據,每組數據不一樣的列,用空格隔開
code

Tsybius 23 Programmer
Galatea 21 Swordsman
Gaius 20 Unknown
Fenix 25 Engineer
Julia 22 Merchant
Tsybius 23 Programmer
Tsybius 23 Programmer
Xenia 15 Student
Flavia 29 Teacher
Gaius 20 Unknown排序

1)輸出文件list.txt的內容class

cat list.txt


2)把list.txt中的內容逐行按字母序排序awk

按字母序從小到大
sed

sort list.txt

按字母序從大到小im

sort -r list.txt

若要指定第二列按數字順序排序,則須要添加-n和-k兩個參數
統計

sort -n -k2 list.txt
sort -nr -k2 list.txt


3)將數據表內不重複的數據進行輸出

經過uniq實現

sort list.txt | uniq

如今將這組數據輸出到文件sortedlist.txt中

sort list.txt | uniq > sortedlist.txt

4)統計文件行數

統計當前目錄下全部文件的行數,用wc

wc -l ./*


5)取數據表指定行、指定列的信息

取行、列的信息,須要用到awk和sed

取第一列、第三列

cat list.txt | awk '{print $1,$3}'

取第二行

cat list.txt | sed -n '2p'

取第二行到第五行

cat list.txt | sed -n '2,5p'

取第二行和第五行

cat list.txt | sed -n '2p;5p'


END

相關文章
相關標籤/搜索