我正在做一个项目,该项目需要我在输入中获取一些 .bed,从每个文件中提取一列,只获取某些参数并计算每个文件有多少个参数。我对 bash 非常缺乏经验,所以我不知道大多数命令。但是有了这行代码,它应该可以解决问题。
for FILE in *; do cat $FILE | awk '$9>1.3'| wc -l ; done>/home/parallels/Desktop/EP_Cell_Type.xls
我将这些值保存在 .xls 中,因为我需要用它们做一些图表。现在我想用 -ls 获取文件名并将它们保存在我的 .xls 的第一列中,而我的参数应该在我的 excel 文件的第二列中。我设法使用以下命令将所有内容保存在一列中:
ls>/home/parallels/Desktop/EP_Cell_Type.xls | for FILE in *; do cat $FILE | awk '$9>1.3'-x| wc -l ; done >>/home/parallels/Desktop/EP_Cell_Type.xls
我的示例文件是:A549.bed、GM12878.bed、H1.bed、HeLa-S3.bed、HepG2.bed、Ishikawa.bed、K562.bed、MCF-7.bed、SK-N-SH.bed 并且是包含在仅包含这些文件的文件夹中。
输出是所有文件名的列表和同一列上的值,如下所示:
第 1 列 |
---|
A549.床 |
GM12878.床 |
H1.床 |
HeLa-S3.床 |
HepG2.床 |
石川床 |
K562.床 |
MCF-7.床 |
SK-N-SH.床 |
4536 |
8846 |
6754 |
14880 |
25440 |
14905 |
22721 |
8760 |
28286 |
但我需要的是这样的:
文件名 | #BS |
---|---|
A549.床 | 4536 |
GM12878.床 | 8846 |
H1.床 | 6754 |
HeLa-S3.床 | 14880 |
HepG2.床 | 25440 |
石川床 | 14905 |
K562.床 | 22721 |
MCF-7.床 | 8760 |
SK-N-SH.床 | 28286 |