Я хотел бы перечислить все файлы данных во всех подкаталогах каталога "my_data_path", и эти файлы должны совпадать с - столбец 7: совпадать с ключевым словом "mystring" - столбец 20: значение <= 0,01 </p>
Кажется, что awk не работает должным образом со вторым условием ($ 20 <= 0,01), потому что этот столбец имеет значения в диапазоне от 0 до 1, но также включает ".".Я думаю, что это может вызвать проблемы в awk.""Предполагается, что будет рассматриваться как 0 в файлах данных.Поэтому как я могу динамически изменить "."в 0 при совпадении по awk? </p>
Вот моя текущая версия:
find my_data_path -type f -name '* out.txt' -exec awk -F "\ t" '{if (($ 7 == "mystring") && ($ 20 <= 0.01)) {print}} '{} \; </p>
Пример данных выглядит следующим образом:
chr1 69511 69511 A G exonic OR4F5 . nonsynonymous SNV OR4F5:NM_001005484:exon1:c.A421G:p.T141A Score=0.994828;Name=chr19:60000 . . . . . . rs2691305 1 0.9394
chr1 877831 877831 T C exonic SAMD11 . nonsynonymous SNV SAMD11:NM_152486:exon10:c.T1027C:p.W343R . . . . . . . rs6672356 1 0.9999
chr1 878667 878667 G T exonic SAMD11 . nonsynonymous SNV SAMD11:NM_152486:exon12:c.G1599T:p.E533D . . . . . . . rs201447515 0.003 8.74E-05
chr1 881627 881627 G A exonic NOC2L . synonymous SNV NOC2L:NM_015658:exon16:c.C1843T:p.L615L . . . . . . . rs2272757 0.66 0.5653
chr1 887801 887801 A G exonic NOC2L . synonymous SNV NOC2L:NM_015658:exon10:c.T1182C:p.T394T . . . . . . . rs3828047 0.96 0.9355
chr1 888639 888639 T C exonic NOC2L . synonymous SNV NOC2L:NM_015658:exon9:c.A918G:p.E306E . . . . . . . rs3748596 0.71 0.070
chr1 914333 914333 C G exonic PERM1 . nonsynonymous SNV PERM1:NM_001291366:exon2:c.G2077C:p.E693Q,PERM1:NM_001291367:exon3:c.G1795C:p.E599Q . . . . . . . rs13302979 0.81 0.6617
chr1 914852 914852 G C exonic PERM1 . nonsynonymous SNV PERM1:NM_001291366:exon2:c.C1558G:p.Q520E,PERM1:NM_001291367:exon3:c.C1276G:p.Q426E . . . . . . . rs13303368 0.71 0.595
chr1 914876 914876 T C exonic PERM1 . nonsynonymous SNV PERM1:NM_001291366:exon2:c.A1534G:p.S512G,PERM1:NM_001291367:exon3:c.A1252G:p.S418G . . . . . . . rs13302983 1 0.9664
chr1 914940 914940 T C exonic PERM1 . synonymous SNV PERM1:NM_001291366:exon2:c.A1470G:p.A490A,PERM1:NM_001291367:exon3:c.A1188G:p.A396A . . . . . . . rs13303033 0.71 0.5874
chr1 983473 983473 G T exonic AGRN . nonsynonymous SNV AGRN:NM_198576:exon23:c.G3833T:p.R1278L . . . . . . . rs542631667 0.0004 2.57E-05
chr1 984302 984302 T C exonic AGRN . synonymous SNV AGRN:NM_198576:exon24:c.T4161C:p.T1387T . Benign not_specified RCV000116269.2 MedGen CN169374 . rs9442391 0.84 0.6295
chr1 990280 990280 C T exonic AGRN . synonymous SNV AGRN:NM_198576:exon36:c.C6057T:p.D2019D . Benign not_specified RCV000116281.2 MedGen CN169374 . rs4275402 0.82 0.6376
chr1 1007203 1007203 A G exonic RNF223 . synonymous SNV RNF223:NM_001205252:exon2:c.T744C:p.D248D . . . . . . . rs4633229 0.92 0.8154
chr1 1007432 1007432 G A exonic RNF223 . nonsynonymous SNV RNF223:NM_001205252:exon2:c.C515T:p.A172V . . . . . . . rs4333796 0.8 0.5721
chr1 1147422 1147422 C T exonic TNFRSF4 . synonymous SNV TNFRSF4:NM_003327:exon5:c.G534A:p.E178E . . . . . . . rs17568 0.78 0.3751
chr1 1158631 1158631 A G exonic SDF4 . synonymous SNV SDF4:NM_016176:exon4:c.T570C:p.D190D,SDF4:NM_016547:exon4:c.T570C:p.D190D . . . . . . . rs6603781 1 0.9166
chr1 1220954 1220954 G A exonic SCNN1D . synonymous SNV SCNN1D:NM_001130413:exon6:c.G468A:p.S156S . . . . . . . rs12751100 . .
chr1 1222257 1222257 A C exonic SCNN1D . nonsynonymous SNV SCNN1D:NM_001130413:exon8:c.A1021C:p.T341P . . . . . . . . . .
Поэтому я быожидайте:
- имя файла этого файла данных можно найти, если я буду искать так:
SAMD11 <0,01 (столбец 20 имеет значение <0,01) </p>
SCNN1D <0,01 (из-за того, что в столбце 20 указано «.» => 0)
- имя файла этого файла данных невозможно найти , если яищите так:
NOC2L <0,01 (из-за столбца 20> 0,01)
Пожалуйста, сообщите.Спасибо!