파일에서 행을 읽고 패턴이 perl에서 일치하면 다음 행으로 건너 뜁니다.

user3164754

파일에서 줄을 읽고 다른 파일에 출력을 쓰려고합니다. 나는 이것을 달성하기 위해 open을 사용하고 있습니다. 그러나 첫 번째 파일에서 원하지 않는 줄을 제거 할 수 없습니다. 여기에 문제가 있습니다.

다음 줄이있는 텍스트 파일이 있습니다.

Project1_Employees
Matt Stone
Trey parker
Eric Cartman
Kenny

Project2_Employees
Stan
Matt Stone
Trey Parker
Kyle

내 코드를 사용하여 이름을 정렬하고 고유 이름을 인쇄하고 있습니다. 하지만 Project1_Employees 및 Project2_Employees 줄을 제거 할 수 없습니다. 이것은 텍스트 파일의 일부일뿐입니다. 그러한 라인이 수백 개 있습니다.

open(FH, '<employeenames.txt');
next if (<FH> =~ m/Employees/);
open(OFH, ">sortedemployee.txt");
my %seen;
print OFH sort grep !$seen{$_}++, <FH>;
close(OFH);
close(FH); 

내가 찾고있는 출력은

Eric Cartman
Kenny
Kyle
Matt Stone
Stan
Trey parker

나는 요구 사항이 있으므로 open을 사용하여 이것을하고 싶습니다.

mpapec
open(FH,  '<', 'employeenames.txt') or die $!;
open(OFH, '>', "sortedemployee.txt") or die $!;
my %seen;
print OFH sort grep { !$seen{$_}++ and !/Employees/ } <FH>;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java의 파일에서 읽지 만 출력이 다른 모든 행을 건너 뜁니다.

분류에서Dev

파일에서 바이트를 읽으려고하는데 탭 문자를 건너 뜁니다.

분류에서Dev

awk를 사용하여 텍스트 파일에서 처음 6 줄 / 행을 건너 뜁니다.

분류에서Dev

512 바이트마다 복사하고 다음 8 바이트를 입력 파일에서 출력 파일로 건너 뜁니다.

분류에서Dev

파일을 반복하고 BASH에서 n 개를 건너 뜁니다.

분류에서Dev

요소가 있으면 작업을 수행하고 없으면 다음으로 건너 뜁니다.

분류에서Dev

파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

분류에서Dev

파일을 읽고 특정 문자열로 시작하는 줄을 건너 뜁니다.

분류에서Dev

Groovy의 조건과 일치하면 다음 루프로 건너 뜁니다.

분류에서Dev

'gcloud app deploy'정적 웹 사이트에서 너무 많은 파일을 건너 뜁니다.

분류에서Dev

Mac은 항상 "이 작업을 실행 취소 할 수 없습니다"라고 경고하고 파일을 삭제할 때 휴지통을 건너 뜁니다.

분류에서Dev

경고를 관찰하면 for 루프 [R]에서 반복을 건너 뜁니다.

분류에서Dev

sed를 사용하여 두 패턴을 일치시키고 두 번째 패턴 다음에 다음 행을 얻으려면 어떻게해야합니까?

분류에서Dev

txt 파일에서 처음 4 줄을 건너 뛰고 나머지를 분할하고 읽습니다.

분류에서Dev

Perl은 차단하지 않고 파일 핸들에서 행을 읽으려고합니다.

분류에서Dev

컬러 행을 번갈아 가며 테이블. 속성이있는 테이블 행에 스타일을 유지하고 다른 tr은 건너 뜁니다. 가급적 CSS로 수행

분류에서Dev

other의 값이 nan이 아니고> 0이면 다른 열의 값에서 열의 값을 빼고 그렇지 않으면 건너 뜁니다.

분류에서Dev

파일 A의 각 행에 대해 파일 B의 모든 일치하는 행을 패턴으로 바꿉니다.

분류에서Dev

필드가 열 차원을 초과하면 Oracle 결과에서 행을 건너 뜁니다.

분류에서Dev

Makefile을 실행하지만 마지막 파일을 건너 뜁니다-R

분류에서Dev

프로그램이 파일의 각 줄을 읽기 위해 while 루프를 건너 뜁니다.

분류에서Dev

행 / 행이 C #에서 설정된 문자로 시작하지 않는 경우 CSV 파일에서 행 / 행을 건너 뛰거나 삭제합니다.

분류에서Dev

구분 기호에 도달하면 텍스트 파일의 다음 줄로 건너 뜁니다.

분류에서Dev

이름, 중간 이름 및 성으로 문자 배열을 분할하고, C 언어에서 비어있는 경우 중간 이름을 건너 뜁니다.

분류에서Dev

파일에서 패턴을 읽고 파이썬을 사용하여 다른 파일에 쓰기

분류에서Dev

패턴이 일치하는 줄을 건너 뛰고 조건이 일치하는 줄을 삭제합니다.

분류에서Dev

csv.reader를 사용하여 파일을 목록으로 읽지 만 특정 열은 건너 뜁니다 (Python).

분류에서Dev

파일 이름을 클립 보드에 복사하지만 파일 확장자는 건너 뜁니다.

분류에서Dev

차이를 확인하여 기간별로 행을 선택하고 건너 뜁니다.

Related 관련 기사

  1. 1

    Java의 파일에서 읽지 만 출력이 다른 모든 행을 건너 뜁니다.

  2. 2

    파일에서 바이트를 읽으려고하는데 탭 문자를 건너 뜁니다.

  3. 3

    awk를 사용하여 텍스트 파일에서 처음 6 줄 / 행을 건너 뜁니다.

  4. 4

    512 바이트마다 복사하고 다음 8 바이트를 입력 파일에서 출력 파일로 건너 뜁니다.

  5. 5

    파일을 반복하고 BASH에서 n 개를 건너 뜁니다.

  6. 6

    요소가 있으면 작업을 수행하고 없으면 다음으로 건너 뜁니다.

  7. 7

    파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

  8. 8

    파일을 읽고 특정 문자열로 시작하는 줄을 건너 뜁니다.

  9. 9

    Groovy의 조건과 일치하면 다음 루프로 건너 뜁니다.

  10. 10

    'gcloud app deploy'정적 웹 사이트에서 너무 많은 파일을 건너 뜁니다.

  11. 11

    Mac은 항상 "이 작업을 실행 취소 할 수 없습니다"라고 경고하고 파일을 삭제할 때 휴지통을 건너 뜁니다.

  12. 12

    경고를 관찰하면 for 루프 [R]에서 반복을 건너 뜁니다.

  13. 13

    sed를 사용하여 두 패턴을 일치시키고 두 번째 패턴 다음에 다음 행을 얻으려면 어떻게해야합니까?

  14. 14

    txt 파일에서 처음 4 줄을 건너 뛰고 나머지를 분할하고 읽습니다.

  15. 15

    Perl은 차단하지 않고 파일 핸들에서 행을 읽으려고합니다.

  16. 16

    컬러 행을 번갈아 가며 테이블. 속성이있는 테이블 행에 스타일을 유지하고 다른 tr은 건너 뜁니다. 가급적 CSS로 수행

  17. 17

    other의 값이 nan이 아니고> 0이면 다른 열의 값에서 열의 값을 빼고 그렇지 않으면 건너 뜁니다.

  18. 18

    파일 A의 각 행에 대해 파일 B의 모든 일치하는 행을 패턴으로 바꿉니다.

  19. 19

    필드가 열 차원을 초과하면 Oracle 결과에서 행을 건너 뜁니다.

  20. 20

    Makefile을 실행하지만 마지막 파일을 건너 뜁니다-R

  21. 21

    프로그램이 파일의 각 줄을 읽기 위해 while 루프를 건너 뜁니다.

  22. 22

    행 / 행이 C #에서 설정된 문자로 시작하지 않는 경우 CSV 파일에서 행 / 행을 건너 뛰거나 삭제합니다.

  23. 23

    구분 기호에 도달하면 텍스트 파일의 다음 줄로 건너 뜁니다.

  24. 24

    이름, 중간 이름 및 성으로 문자 배열을 분할하고, C 언어에서 비어있는 경우 중간 이름을 건너 뜁니다.

  25. 25

    파일에서 패턴을 읽고 파이썬을 사용하여 다른 파일에 쓰기

  26. 26

    패턴이 일치하는 줄을 건너 뛰고 조건이 일치하는 줄을 삭제합니다.

  27. 27

    csv.reader를 사용하여 파일을 목록으로 읽지 만 특정 열은 건너 뜁니다 (Python).

  28. 28

    파일 이름을 클립 보드에 복사하지만 파일 확장자는 건너 뜁니다.

  29. 29

    차이를 확인하여 기간별로 행을 선택하고 건너 뜁니다.

뜨겁다태그

보관