Bash 使用grep和awk从多个文件中创建新文件(表格分隔)

Bash 使用grep和awk从多个文件中创建新文件(表格分隔),bash,shell,unix,awk,grep,Bash,Shell,Unix,Awk,Grep,我需要构建一个由多个蛋白质预测文件中的唯一和共享基因组成的表。我知道我可以使用grep和awk来研究一个特定的兴趣,比如基因组1上的独特基因,但是我如何使用比较文件来提取每个基因组特有的基因数量,以及共享基因的数量 到目前为止我有 grep ">" Gen0711.faa | sed -e 's/>//' | while read line; do grep "^$line" Gen0711Gen0994.results | awk '{print $2}' | sort | uni

我需要构建一个由多个蛋白质预测文件中的唯一和共享基因组成的表。我知道我可以使用grep和awk来研究一个特定的兴趣,比如基因组1上的独特基因,但是我如何使用比较文件来提取每个基因组特有的基因数量,以及共享基因的数量

到目前为止我有

grep ">" Gen0711.faa | sed -e 's/>//' | while read line; do grep "^$line" Gen0711Gen0994.results | awk '{print $2}' | sort | uniq | wc -l | tr "\n" "\t"; echo $line; done > Gen0711Gen0994.table
但这只给出了一个感兴趣的领域,uniq基因到
Gen0711


感谢您的帮助

请添加示例输入和所需输出。不介意读者…首先,使用grep/sed/sort/uniq/awk/tr/。。。这太过分了。既然你已经展示了你的尝试(这一直是你尝试过的一个好迹象),请提供一个输入前后的小例子,以便可以对解决方案进行排序?多少个“蛋白质预测文件”文件多大的基因组(每个基因组预测的蛋白质数量)我认为
wc-l
没有帮助。另请看
paste
。我的输入文件从.faa文件中以>开头的每个字符串中获取基因组名称和基因ID,以创建我所需输出的第一列。while read行使用.results文件中找到的唯一基因,并将其打印到输出的相邻列中。我想添加一个命令来确定共享基因,并通过许多.faa和。要为每个相应的.results文件创建和输出的结果文件。