如何在多个文件上使用 awk(每个文件的第一个字段)并获取每个输入文件的结果
How can I use awk (first field of each file) on multiple files and get the result for each input file
我试过了ls *.fasta | parallel --gnu "awk '{print }' > {/.}.outputfile.txt"
而且它没有产生我需要的结果。我有 48 个文件,我需要在其中提取这些字段并将它们输出到 48 个独立文件。
我可以运行这很好,但我必须对每个文件一个一个地做:awk '{print }' BLAST_output_file.txt > ID_ BLAST_output_file.txt
有人可以帮我吗?谢谢
刚刚写了一个简单的bash脚本
for i in *.txt; do
awk '{print }' $i > $i.id.blast.out.txt
done
能否请您尝试以下。
awk '{if(FILENAME!=prev){close(prev)};print ;prev=FILENAME}' *.fasta > output_all_file
如果您需要不同的输出文件(从您的尝试中看到):
awk '{if(FILENAME!=prev){close(prev)};print > (FILENAME".id.blast.out.txt");prev=FILENAME}' *.fasta
添加{}:
ls *.fasta | parallel --gnu "awk '{print }' {} > {/.}.outputfile.txt"
我试过了ls *.fasta | parallel --gnu "awk '{print }' > {/.}.outputfile.txt"
而且它没有产生我需要的结果。我有 48 个文件,我需要在其中提取这些字段并将它们输出到 48 个独立文件。
我可以运行这很好,但我必须对每个文件一个一个地做:awk '{print }' BLAST_output_file.txt > ID_ BLAST_output_file.txt
有人可以帮我吗?谢谢
刚刚写了一个简单的bash脚本
for i in *.txt; do
awk '{print }' $i > $i.id.blast.out.txt
done
能否请您尝试以下。
awk '{if(FILENAME!=prev){close(prev)};print ;prev=FILENAME}' *.fasta > output_all_file
如果您需要不同的输出文件(从您的尝试中看到):
awk '{if(FILENAME!=prev){close(prev)};print > (FILENAME".id.blast.out.txt");prev=FILENAME}' *.fasta
添加{}:
ls *.fasta | parallel --gnu "awk '{print }' {} > {/.}.outputfile.txt"