(自己)常用的文本文件的行处理命令
成都创新互联服务项目包括北安网站建设、北安网站制作、北安网页制作以及北安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,北安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到北安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
示例文件:test.vcf
1、head -n 10 test.vcf
head : 默认是提取文件的前10行,-n 参数可以设定选择文件的前n行
2、tial -n 10 test.vcf
tail : 默认是提取文件的末尾10行, -n 参数可以设定选择文件末尾的n行
3、sed -n '10,20p' test.vcf
sed -n : 随意选择需要查看的行
sed命令是一个面向行处理的编辑器,可以和正则表达式配合使用,附上较全面的sed命令使用教程。
4、awk 截取行的指定长度字符串
less test.gz |awk '{if(NR%2==1){print}else{print substr($1,1,75)}}' | gzip -c test.part.gz
说明:对test.gz文件指定行截取75bp,原来是150bp
5、对n行的第三列求和,求平均值
grep -v ‘#’ test.vcf |sed -n '20,35p' |awk -F '\t' '{sum+=$3;n++}END{print sum,sum/n}'
(linux 一行命令计算速度比Python快,简单计算喜欢用linux命令)
记得随时整理使用过的命令,没学过linux,靠着各种帖子,随时需要随时补给,有点懒。
Linux下剪切命令是mv(move的缩写),可以用来移动文件或者将文件改名。
命令格式:
mv [选项] 源文件或目录 目标文件或目录
命令参数:
-b :若需覆盖文件,则覆盖前先行备份;
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖;
-u :若目标文件已经存在,且 source 比较新,才会更新(update)。
命令实例:
将文件log1.txt,log2.txt,log3.txt剪切到目录test3中
mv log1.txt log2.txt log3.txt test3
[root@localhost test]# cd test3/
[root@localhost test3]# ll
总计 16
-rw-r--r-- 1 root root 8 10-28 06:15 log1.txt
-rw-r--r-- 1 root root 12 10-28 06:15 log2.txt
-rw-r--r-- 1 root root 13 10-28 06:16 log3.txt
-rw-r--r-- 1 root root 29 10-28 06:05 test1.txt
一、作用
cut命令是一个选取命令,其功能是将文件中的每一行”字节” ”字符” ”字段” 进行剪切,选取我们需要的,并将这些选取好的数据输出至标准输出
二、格式
cut -[n]b file
cut -c file
cut -d[分隔符] -f[域] file
三、参数解释
-b(bytes) :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c(characters) :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f(filed) :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。