我正在尝试将一些标头添加到txt文件中。其实我已经找到了一个脚本,但是我想编辑它的一部分。脚本(如果您愿意,也可以在这里找到它:https : //ucdavis-bioinformatics-training.github.io/2017-June-RNA-Seq-Workshop/thursday/counts.html):
for x in 03-alignment/*/*ReadsPerGene.out.tab; do \
s=`basename $x | cut -f1 -d_`
echo $s
done | paste -s > header.txt
问题是我想“粘贴-s”,但不是从第一列开始,而是从第二列开始。我认为完成了| awk $ 2 | 粘贴-s | header.txt可能有帮助,但没有帮助。
有什么想法可以直接从第二列开始添加标题吗?
因此,使用上面的脚本,我将获得此输出。
L004_AQAU-19 L004_AQAU-20 L004_AQAU-21 etc.
ALOMY0G001 0 0
ALOMY0G002 0 10
ALOMY0G003 20 15
ALOMY0G004 4 5 etc.
但是我想拿
L004_AQAU-19 L004_AQAU-20 etc.
ALOMY0G001 0 0
ALOMY0G002 0 10
ALOMY0G003 20 15
ALOMY0G004 4 5
etc.
您可以利用cut
制表符分隔的单词行获取范围。
... paste -s | cut -f2- > header.txt
如果您想跳过第一列,(第一列没有标题,只需在开始处插入一个空白标签即可。
... paste -s | sed 's/^/\t/' > header.txt
在这里我sed
用来替换某些东西。您可以像s/A/B/g
用B代替A一样进行替换。(g表示每行是否必须执行多次。)这些“模式”是正则表达式(regex)。对于正则表达式^
是这一行的开始。所以在这里,我将^
(行的开头)替换为\t
(制表符)。(paste
默认情况下使用制表符,paste -d, -s
例如使用逗号。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句