에서 텍스트를 구문 분석 나는 탭으로 구분 된 파일 1이 :문자열
20 50 80 110
520 590 700 770
410 440 20 50
300 340 410 440
읽기 및 배열에 넣어 : 이제
while(<INPUT>)
{
chomp;
push @inputarray, $_;
}
내가 다른 파일 2 통해 반복 해요 :
20, 410, 700
80, 520
300
file2의 각 줄 번호는 @inputarray에서 해당 번호를 검색하려고합니다. 그것이 존재한다면, 나는 그 뒤에 오는 대응하는 숫자를 움켜 잡고 싶다. 예를 들어, 숫자 20의 경우 숫자 50을 얻고 싶습니다. @inputarray의 배열 요소로 존재하는 문자열의 탭으로 계속 구분되어 있다고 가정합니다. GREP이 발견되면
while(my $line = <INPUT2>)
{
chomp $line;
my @linearray = split("\t", $line);
foreach my $start (@linearray)
{
if (grep ($start, @inputarray))
{
#want to grab the corresponding number
}
}
}
, 나는 아마 SUBSTR 함수를 사용하여 해당 번호를 추출하는 숫자의 위치를 찾기 위해 그 배열 요소를 잡아하는 방법을 모르겠어요. grep이 발견 한 배열 요소를 어떻게 잡아낼 수 있습니까?
소망하는 출력은 다음과 같습니다 번 입력을 읽을 수는 있지만 번호를 많이 확인하려면
line1:
20 50
410 440
700 770
line2:
80 110
520 590
line3:
300 340
file2가 file1의 두 번째 열의 숫자를 포함하고있을 가능성이 있습니까? 예를 들어 50,440,110도 마찬가지예요? – Samiron
File2는 file1의 2 열과 4 열에있는 숫자 만 포함합니다. – user2674514
@ user2674514 : 당신의 예제는 * file2 *가 * file1 *의 * column1 *에서 오는 숫자 인'20, 410, 700'을 포함하고 있음을 보여줍니다. 'column 2 and 4'는 마지막 코멘트의 오타입니까? – Samiron