我有一個製表符分隔的文本文件。我已將它分成若干列。前兩列中的每一列都包含一個ID號碼。刪除特定列中沒有指定模式的文件中的行
我想保留所有以P或Q開頭的ID號的行,並刪除其他行中列1或2有其他ID或空白的行。
例如。因此要保留的列將如下所示:P12345或Q12345。刪除的列將是GAG123,CH123等或只是空白。
我無法解決如何做到這一點。我已經嘗試將行分割成數組和grep/^ [PQ]/elements [0]和[1]以及其他各種各樣的東西,但是我必須做出錯誤的事情。
我試着從TLP下面的follwoing代碼,但它不會工作,我知道我必須做根本錯誤的東西:
#!/usr/bin/perl
use warnings;
use strict;
open(FILE,"<myfile.txt");
my @LINES = <FILE>;
open(my $outfile, '>', 'changedtxt');
my @wanted;
while (<FILE>) {
my @fields = split('\t', $_);
if ($fields[0] =~ /^[PQ]/ and $fields[1] =~ /^[PQ]/) {
push @wanted, $_;
print {$outfile} $_;
}
}
exit:
請張貼你到目前爲止的代碼。 – Mat
你到目前爲止得到了哪些代碼? – hexcoder
如果一個ID以P或Q開頭,但其他ID不是? – TLP