头部测试区
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
等等。任何帮助深表感谢。
这是一种易于理解的方法,可以对中的每一行执行此操作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] 删除。
我来说两句