Linux命令行中对打印成表格类型的文本进行操作
先创建一个文件list.txt,包含三列数据(姓名、年龄、职业)
每行一组数据,每组数据不同的列,用空格隔开
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的内容
cat list.txt
2)把list.txt中的内容逐行按字母序排序
按字母序从小到大
sort list.txt
按字母序从大到小
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