Bash
使用文件中的列作為輸出文件變數名
頭部 testregions.bed
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