使用文件中的列作为输出文件变量名

2007实验室

头部测试区

21      15390708       
21      15890068        16388793
21      16390041        16888505
21      16889055        17388185
21      17388731        17886839

我想将.bed文件的每一行用作输出名称,例如:

while readline  
do zip.sh > 21_15390708_ 15889554.zip
            21_16390041-16888505.zip

我读了一些有关xargs能够做到这一点的信息。但是我对如何将每一行输出为唯一的输出文件名感到困惑。

xargs -a testregions.bed -I {} zip inputfile {} >> outputfile_{}.zip

等等。任何帮助深表感谢。

克里斯汀·塞兹(Christian Seitz)

这是一种易于理解的方法,可以对中的每一行执行此操作testregions.bed首先,删除原始文件中的所有空格,testregions.bed然后仅将数字保存到新文件中,new.txt如下所示:

cat testregions.bed | tr -d "[:blank:]" > new.txt

然后,您将new.txt像这样为每一行创建一个新文件

cat new.txt | while read line do touch "$line".zip done

然后您可以删除new.txt

rm new.txt

因此,test.sh用于创建.zip文件的脚本testregions.bed如下所示:

#!/bin/sh

cat testregions.bed | tr -d "[:blank"]" > new.txt
cat new.txt | while read line
do
        touch "$line".zip
done
rm new

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章