常用linux对文件的基本操作——持续更新

# 提取指定的列
cat HD786_tumor.vcf| cut -d ';' -f 2 > HD786_tumor.plusmark.vcf
# 默认分隔符是制表位(\t)
# 如果是1到4列:cut -f 1-4

# grep文本内搜索:同时满足多个条件
grep "323168*" NG19-GXH0818.tvsn.gt.vcf | grep "chr10" #使用管道命令 # 查看文件分割符是空格还是制表符:
sed -n l *.txt # 如果是制表位(TAB),就会显示\t, 如果是空格,就会原样显示。(sed中n后面的l是小写的L) #提取指定行: #!/bin/bash for i in `find -name "*.prefix"` #查找prefix为后缀的所有文件 do echo $(basename ${i} .prefix) >> total.txt # 打印显示不带路径,后缀(prefix)的文件名称 # shell提取文件指定行的内容: sed -n '1,2p' ${i} >> total.txt # 使用>>而不是>进行重定向,可以追加写入文件,而不覆盖之前的文件内容。 # 使用追加重定向一定要注意,每次重新运行之前一定要删除之前的错误文件,不然一直追加。。。 done # 结果为: # NG19-GXH1039 # Total_Number_of_Sites Number_of_Somatic_Sites % # 1 0 0.00 # NG19-GXH1040 # Total_Number_of_Sites Number_of_Somatic_Sites % # 5 2 40.00 # NG20-GXH0020 # Total_Number_of_Sites Number_of_Somatic_Sites % # 3 0 0.00 # …… # …… # 批量删除没用的信息,只留有用信息 for dir in {$TEST,$TEST_1,$TEST_2,$TEST_3} do cd $dir sed -e '/window/d' $dir/nohup.out > $dir/nohup_1.out sed -e '/scan/d' $dir/nohup_1.out > $dir/nohup_.out sed -e '/consumed/d' $dir/nohup_.out > $dir/nohup_1.out # 只留样本id以及结果 sed -e '/load/d' $dir/nohup_1.out > $dir/nohup_.out rm $dir/nohup_1.out done

# 解压bz2文件(bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。)
tar -xjf all.tar.bz2

# 对tar.gz文件的解压:
tar -zxvf filename

# 反引号的使用

显示文件夹及子文件夹的所有vcf文件,并且列出详细信息
ll `find -name "*.vcf*"`

# 从linux下载文件到本地C盘

scp ./run_WGBS.pl /c

#复制文件

 

cp A B

#复制文件夹

rm -r test_learn/

  

  

posted @ 2020-04-09 15:21  YlnChen  阅读(341)  评论(0编辑  收藏  举报