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