我想從與特定模式匹配的文件中提取行,並且我想對500多個文件執行此操作。它應該有能力保留文件的唯一名稱。根據文本模式選擇行
我用awk,但後來我必須單獨做每個文件。
c:\>gawk "/S1901/" Census_Tract_*.csv > Census_Tract_*.csv
在這裏的鏈接(http://bit.ly/nMX8qh)我想只保留有S1901在他們的記錄中顯示的例子。道歉的外部鏈接,但我不能保留表的格式。
我發現了一些我用來寫它的perl代碼,但它保留了所有的行,並且不僅僅選擇模式匹配的那些行/記錄。任何提示將不勝感激。 Perl的代碼如下:
#perl -w
$pattern = "Subject_Census*.csv"; # process only those files that match pattern
while (defined ($in = glob($pattern))) {
($out = $in) =~ s/\.csv$/.outcsv/; # read from "xyz.in" and write to "xyz.out"
open (IN, "<", $in) or die "Can't open $in for reading: $!";
open (OUT,">>", $out) or die "Can't open $out for writing: $!";
while (<IN>) {
$mystring =~ /S1901/;
print OUT $_ if $mystring == 0;
}
close (IN) or die "Can't close $in: $!"; # good idea to do some housekeeping
close (OUT) or die "Can't close $out: $!";
}
謝謝DavidO。此代碼適用於我。感謝幫助。 – Krishnan
不客氣。很高興它正在軌道上。 – DavidO