常用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盘

1
scp ./run_WGBS.pl /c

#复制文件

 

1
cp A B

#复制文件夹

1
rm -r test_learn/

  

  

posted @   YlnChen  阅读(342)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示