Llinux学习笔记-文本操作(1) 2018-05-08

查看行数

##查看总行数
wc -l filename
awk '{print NR}' filename | tail -n 1
awk 'END{print NR}' filename
grep -n "" filename | tail -n 1 | awk '{print $1}'   #-n:给匹配的行加行号前缀,注意不能用于非空行的编号,因为这种情况下空行虽然不显示,但仍会计入编号
grep -c "" filename   #-c:统计匹配的行数
sed -n '$=' filename
cat -n filename | tail -n 1 | awk '{print $1}'
nl -ba filename | tail -n 1 | awk '{print $1}'   #等价于nl filename | tail -n 1 | awk '{print $1}' 
##查看空行
grep -c "^$" filename
##查看非空行数
grep -vc "^$" filename
grep -c "[^ \n\t]" filename
grep -c "\S" filename
cat -b filename | tail -n 1 | awk '{print $1}'
nl -bt filename | tail -n 1 | awk '{print $1}' 

查看列数

awk -F "分隔符" '{print NF; exit}' filename

head & tail

head -n x filename   #查看前x行,可直接是head -x filename,无参数时默认是前10行
tail -n x filename   #查看后x行,可直接是tail -x filename,无参数时默认是后10行
head -n -x filename   #查看到倒数第(x+1)行,即去掉后x行
tail -n +x filename   #从第x行开始查看至结束,即去掉前(x-1)行
##但在对测序文本去掉某些行数,习惯上用grep -v 的方法

显示行号并查看

##所有行
less -N filename
cat -n filename | less
nl -ba filename | less   #等价于nl filename | less
grep -n "" filename | less
##非空行
cat -b filename | less
nl -bt filename | less 
grep -n "\S" filename | less   #注该命令虽不显示空行,但空行仍会计入编号,等价于grep -n "[^ \n\t]" filename | less

替换列的分界符

##将111文件中的分界符由空格替换为tab,选择tr或awk均可
wch@wch-virtual-machine[foo] tr " " "\t" <111
A   1   wayne
B   2   ben
c   3   jonathan
z   100 sijung
y   1000    monika
x   10000   matt
wch@wch-virtual-machine[foo] awk '{print $1"\t"$2"\t"$3}' 111
A   1   wayne
B   2   ben
c   3   jonathan
z   100 sijung
y   1000    monika
x   10000   matt

你可能感兴趣的:(Llinux学习笔记-文本操作(1) 2018-05-08)