我正在使用grep从两个不同文件中的文件中找到匹配的行.它找到匹配的文件从蛮好File1成File2和File3,但是从目前有不止一个文件,它打印在其被旁边的行中找到的文件名.
grep -w -f File1 File2 File3
输出:
File2: pattern
File2: pattern
File3: pattern
有没有选项可以避免打印File2:和File3:?
我有在我寻找的最高值列表,并使用最低值awk内bash.我能够找到这些,但是我无法将值分配给某个变量,所以我可以在bash以后使用它们.
我的意见:
number  location  length  value
 1        2         40     0.96
---       5         45     0.97
 4        5         47     0.96
---       5         35     0.95
 2        5         60     0.95
---       3         55     0.96 
我的awk命令:
awk 'NR==1{max=$3; min=$3}{if ($3>max) max=$3; if ($3<min) min=$3;} END {print max,min}' List.txt
输出:
 60和35.
我知道这是可以从一个值传递bash给awk通过右键在我的开始在bash声明,并再次awk用脚本-v.
Variable1=string;
awk -v Variable1=$Variable '{}'
有没有办法做同样的事情,但从awk到bash所以我可以保持min和max?
我有一个 Perl 脚本,我希望并行化。
while它由一个超过 11000 行的循环和另一个while3400 行的循环组成,这使得它非常慢。
open (FILE1, "File1.txt") or die "Can't open File1";
open (OUT, ">Outfile.txt");
while (<FILE1>)
{ 
 my @data=split (/ /, $_);
 my $RS=1;
 open (FILE2, "File2.txt") or die "Can't open File2";
 while (<FILE2>)
 { 
  my @value=split (/ /, $_);
  if ($data[$RS] == 1) {print OUT $value[1];$RS++;}
  elsif ($data[$RS] == 2) {print OUT $value[2];$RS++;}
  elsif ($data[$RS] == 0) {print OUT $value[3];$RS++;}
 }
 close FILE2;
}
我正在寻找一种方法来对每一行执行相当于 qsub 的操作,File1这样我就可以发送 3440 个作业。有什么建议么?如果可能的话我想继续使用 perl。我尝试将此代码插入到 …