cat :文件查看 concatenate
cat直接重定向时可以在重定向的文件中写入文本,但是有三个问题
1.直接删除键不可以,Ctrl + Back可以删除,直接按back也会删除但是会出现^H,实际上已经删除了,只是没有显示而已
2.回车即写入。ctrl + c 是终止
3.但无法修改上一行
4.cat >>往后追加
cat写入文件时,如何区分tab和空格 ,cat -A ,$代表回车
cat -b :不计算空格行
head/tail
head/tail -2
head/tail -n 2
看两行
more:逐页查看,按空格翻页,按回车换行
less:升级版的more
more和less只能看到命令操作记录而不能看到标准输出流,因此可以通过管道符传输给head -n将标准输出流打印出来
less -NS 速度较慢,大文件用cat快一点
less就可以查看压缩文件,zless可被淘汰
less的其他功能:大文件中查找某个文本
wc :统计文本
cut:文本切割
sort:排序
sort -k 4:把第四列一个数字一个数字的比较
sort -n -k 4:把第四列当成一个整体来看待
unique:去除重复行
paste: 按行合并
观察是按行合并还是按列合并
seq 20 | paste - -
paste -d ':' file1 file2
seq 20 | paste - - - -
tar:字符替换
更换空格
cat example.gtf | cut -f 3 | sort | uniq -c | tr ' ' ':'
# 更改字符
cat example.gtf | cut -f 3 | sort | uniq -c | tr 'CDS' 'cds'
# 同时更改多个参数
cat example.gtf | cut -f 3 | sort | uniq -c | tr 'CDS' 'cds' | tr 'UTR' 'utr'
# tr -s 删除
cat example.gtf | cut -f 3 | sort | uniq -c | tr -s ' '| cat -A
#将空格键换成table 键分隔符
cat example.gtf | cut -f 3 | sort | uniq -c | tr -s ' ' '\t'
#将所有列相加
cat example.gtf | cut -f 3 | sort | uniq -c | tr -s ' ' '\t' | cut -f 2 | paste -s -d '+'
#bc linux 内置的计算小工具
cat example.gtf | cut -f 3 | sort | uniq -c | tr -s ' ' '\t' | cut -f 2 | paste -s -d '+'| bc
# 删除指定字符,例如空格,也可以删除别的东西,当删除多个字符时如果内容中只有一个那就只能删除掉一个
cat example.gtf | cut -f 3 | sort | uniq -c | tr -s ' '
倒序排序
作业
less -SN md5.txt | cut -f 1 | tr ';' '\n' > file1
less -SN md5.txt | cut -f 2 | tr ';' '\n' > file2
paste file1 file2 > file3
cat file3
$ less -SN example.gtf | cut -f 9 | cut -d ';' -f 1 | sort | uniq -c | tr ' ' '\t' | column -t