查看行数
##查看总行数
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