1. cut

先新建测试文件

  1. cat >test.txt
  2. 1 doudou 102
  3. 8 huahua 303
  4. 7 douhua 859
  5. ^C

检查下是否成功

$cat test.txt
#1 doudou 102
#8 huahua 303
#7 douhua 859

用cut分割一下,取第一列,试一下

cat test.txt |cut -f 1
#1 doudou 102
#8 huahua 303
#7 douhua 859

不对,因为默认分隔符是\t,而上面分隔符是空格。
指定分隔符重试

cat test.txt |cut -f 1 -d " "
#1
#8
#7

成功。-f表示取第几列,-d表示自定义分隔符。

2.paste

zcat sample1.fq.gz | paste - - - - |less -S

实例:将fq变成fa文件
示例文件test.fq.gz内容如下:

@SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
TGGGAGGCTGAGGCAGGAGAATCACTTAAACCTGGGAGGCAGAGGTTACAGTGAGCCGAGATT
+SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
HJJJIJJJJJJJJIJJJGHHIJIIIIIIJJEHGGIJGIJIJJIJHHHGGFFDFFFDEDDDBDC
@SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
AAAGAAGGCGACAGTGAGAAGGAGTCCGAGAAGAGTGATGGAGACCCAATAGTCGATCCTGAG
+SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
HJJJJJJJJJJJIJIIGIJJJJGJHJJJHHDFFFE@CEEEDDDDDDDDDDDDDDDBDDDDDDD

命令是:

zless -S test.fq.gz |paste - - - -|cut -f 1-2|tr '\t' '\n'|tr '@' '>'|less -S

做了5件事:整齐的打印出fq,每四列合并为一行,切1-2列,将\t换成 \n,将@换成>。

3. cut和paste

grep -v # 去掉井号 反选

实例看一个gtf文件的染色体重复情况

去掉井号行,切出第一列,排序,去重,计数是参数 -c
zcat /teach/database/gtf/gencode.v29.annotation.gtf.gz | grep -v “#” |cut -f 1|sort | uniq -c |less -S

1 和 >2 正确和错误的输出
find / -name ‘*fastq’ 1>res.txt 2>~/null.txt

一对一全局替换示例

$ qmcui 14:57:14 ~
$ echo acfgegs|tr a-z A-Z
ACFGEGS
qmcui 14:57:45 ~
$ echo ACTGGGCC|tr [ATGC] [TACG]
TGACCCGG

微信公众号生信星球同步更新我的文章,欢迎大家扫码关注!
linux-cut和paste命令 - 图1
我们有为生信初学者准备的学习小组,点击查看◀️
想要参加我的线上线下课程,也可加好友咨询🔼
如果需要提问,请先看生信星球答疑公告