我有一个包含大约9000个文件的目录,它们都具有相同的结构,如下所示:
seqfile = brown.nuc * sequence data file name
outfile = mlb * main result file
treefile = brown.trees * tree structure file name
noisy = 3 * 0,1,2,3: how much rubbish on the screen
verbose = 0 * 1: detailed output, 0: concise output
runmode = 0 * 0: user tree; 1: semi-
automatic; 2: automatic
* 3: StepwiseAddition; (4,5):PerturbationNNI
我想用txt文件中的列表中包含的单词替换“seqfile = brown.nuc”行,列表是这样的,
organism_1.fna
organism_2.fna
organism_3.fna
organism_4.fna
organism_5.fna
我想要获得的输出将是
seqfile = organism_1.fna * sequence data file name
outfile = mlb * main result file
treefile = brown.trees * tree structure file name
noisy = 3 * 0,1,2,3: how much rubbish on the screen
verbose = 0 * 1: detailed output, 0: concise output
runmode = 0 * 0: user tree; 1: semi-
seqfile = organism_2.fna * sequence data file name
outfile = mlb * main result file
treefile = brown.trees * tree structure file name
noisy = 3 * 0,1,2,3: how much rubbish on the screen
verbose = 0 * 1: detailed output, 0: concise output
runmode = 0 * 0: user tree; 1: semi-
seqfile = organism_2.fna * sequence data file name
outfile = mlb * main result file
treefile = brown.trees * tree structure file name
noisy = 3 * 0,1,2,3: how much rubbish on the screen
verbose = 0 * 1: detailed output, 0: concise output
runmode = 0 * 0: user tree; 1: semi-
我一直在尝试使用Sed和Awk,但我无法获得输出。
for file in *.ext; do
for replacement in $(<replacements.file) ; do
sed "s/brown\.nuc/$replacement/" < "$file";
done > "$file.processed";
done
这将把更改的数据放在$originalFilename.processed
中,如果需要,可以在以后复制原始文件。