linux对文件内容操作,Linux学习教程-Linux下文件内容操作

Linux下文件内容操作

常用的文件内容操作有文件压缩解压缩、文件大小行数统计、文件内容查询等。

7f95162f45d192a079e0e38db59a24a1.jpg

gzip: 压缩文件; gunzip: 解压缩文件 # gzip -c 把压缩的文件输出到标准输出 (一般是屏幕) # '>' 输出重定向,输出写入文件 ct@ehbio:~/ehbio_project$ gzip -c ehbio.fa >ehbio.fa.gz # 多了一个.gz文件 ct@ehbio:~/ehbio_project$ ls ehbio3.fa ehbio4.fa ehbio5.fa ehbio.fa ehbio.fa.gz second.fa #解压缩 ct@ehbio:~/ehbio_project$ gunzip ehbio.fa.gz gzip: ehbio.fa already exists; do you wish to overwrite (y or n)? y ct@ehbio:~/ehbio_project$ ls ehbio3.fa ehbio4.fa ehbio5.fa ehbio.fa second.fa wc (word count): 一般使用wc -l获取文件的行数 # 输出文件有14行 ct@ehbio:~/ehbio_project$ wc -l ehbio.fa 14 ehbio.fa

获取文件中包含大于号 (>)的行, grep (print lines matching a pattern)。

grep的用法很多,支持正则表达式匹配,这里不展开,可以自己查阅资料,或在后期的教程涉及到时再学习。

ct@ehbio:~/ehbio_project$ grep '>' ehbio.fa >SOX2 >OCT4 >NANOG >mYC HAHA # 获取包含>的行的行数 (-c: count lines) ct@ehbio:~/ehbio_project$ grep -c '>' ehbio.fa 4 # 是不是还记得当时新建文件时,末尾多了一行end,删除end所在行 ct@ehbio:~/ehbio_project$ less ehbio.fa # -v: 不输出匹配上的行 ct@ehbio:~/ehbio_project$ grep -v 'end' ehbio.fa >ehbio6.fa ct@ehbio:~/ehbio_project$ cat ehbio6.fa >SOX2 ACGTCGGCGGAGGGTGGSCGGGGGGGGAGAGGT ACGATGAGGAGTAGGAGAGAGGAGG >OCT4 ACGTAGGATGGAGGAGAGGGAGGGGGGAGGAGAGGAA AGAGTAGAGAGA >NANOG ACGATGCGATGCAGCGTTTTTTTTTGGTTGGATCT CAGGTAGGAGCGAGGAGGCAGCGGCGGATGCAGGCA ACGGTAGCGAGTC >mYC HAHA ACGGAGCGAGCTAGTGCAGCGAGGAGCTGAGTCGAGC CAGGACAGGAGCTA

替换文件中的字符: sed是一个功能强大的文件内容编辑工具,常用于替换、取得行号等操作。

# 第一个错误,漏掉了文件名 # 程序静止在这,等待用户的进一步输入 # ctrl+c杀掉当前命令 ct@ehbio:~/ehbio_project$ sed 's/ HAHA//' | tail -n 3 ^C # 第二个错误,文件名和单引号之间没有空格,使得sed判断命令错误 ct@ehbio:~/ehbio_project$ sed 's/ HAHA//'ehbio.fa | tail -n 3 sed:-e 表达式 #1,字符 11:“s”的未知选项 # 正确操作, ct@ehbio:~/ehbio_project$ sed 's/ HAHA//' ehbio.fa | tail -n 4 >mYC ACGGAGCGAGCTAGTGCAGCGAGGAGCTGAGTCGAGC CAGGACAGGAGCTA end

另外一个方式,去除HAHA,使用cut命令

(cut更适合与矩阵操作,去除其中的一列或者多列)。

-f: 指定取出哪一列,使用方法为-f 2 (取出第2列),-f 2-5 (取出第2-5列),-f 2,5 (取出第2和第5列)。 -d: 设定分隔符, 默认为TAB键。如果一行没有指定的分隔符,整行都为第一列。 ct@ehbio:~/ehbio_project$ cut -f 1 -d ' ' ehbio.fa | tail -n 4 >mYC ACGGAGCGAGCTAGTGCAGCGAGGAGCTGAGTCGAGC CAGGACAGGAGCTA end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值