"fileA.txt"및 "fileB.txt"라는 두 개의 파일이 있습니다.두 파일의 내용을 동시에 삭제 - UNIX
1 Arizona ABDJAQ 224
2 Ohio AKOGFR 458
3 Wisconsin EFGTAP 871
4 Colorado NAHBAX 991
위의 네 개의 열이
fileB.txt은 다음과 같은 내용이있다 "ID", "주", "패턴", "수"있습니다
fileA.txt은 다음과 같은 내용을 가지고 :
1 Arizona NKIGAB 763
2 Ohio BAVYAD 918
3 Wisconsin AUOBAQ 547
4 Colorado INABEA 622
는 다시 네 개의 열은 "ID", "주", "패턴", "수"
없음 있습니다 이게 내가하고 싶은 일이다.
먼저 "fileA.txt"를 스캔하고 "패턴"열에 "A"가 하나있는 모든 레코드를 제거하고 싶다. 두 개의 "A"가있는 모든 기록을 보관하십시오. 그래서 나는 오하이오와 위스콘신을 제거 할 것입니다. (ID "2"및 ID "3"). 동시에, 나는 또한이 ID를 "fileB.txt"에서 동시에 제거하고 싶다 !! (사실 fileB, 오하이오 및 위스콘신에서 패턴에 2 개의 "A"를 가짐).
1 Arizona NKIGAB 763
4 Colorado INABEA 622
다음, 나는 검사 할 "같이한다
1 Arizona ABDJAQ 224
4 Colorado NAHBAX 991
내"fileB.txt ":이 단계 후
내"fileA.txt "는 같아야합니다 fileB.txt "를 사용하여"A "가 하나있는 패턴이있는 레코드를 제거하고"fileA.txt "에서 해당 레코드를 삭제합니다.: (.이 fileB 만 "A"를 가지고 있으며, 그래서 우리는 fileB와 FILEA 모두에서 애리조나를 제거하기 때문에이 경우에는 애리조나)
이 단계 후, 나는 각 파일에 하나의 레코드 만 남아있을 것입니다 "fileA.txt"는 것입니다 : "fileB.txt는"짧은에 넣어, 그래서
4 Colorado INABEA 622
이있을 것이다
4 Colorado NAHBAX 991
을하고, 나는 두 파일을 스캔 만 기록을 유지하려는 파에 2 개의 "A"가있다. 두 파일 모두에서 ttern.
한 줄로 된 Unix 명령이나 비교적 쉬운 방법이 있습니까?
도움말에 감사드립니다.
누군가가 'awk' one-liner를 제안 할 것입니다. – none
나는 그렇게 희망한다. 나는 이것을 위해 파이썬 스크립트를 작성했지만, 정말 정말 한줄짜리를 원한다. – user1691717
Python 스크립트는 꽤 괜찮습니다. 왜 한 온 라인을 원하니? 이것은 사소한 작업처럼 보이지 않습니다. 전체 화면을 사용하여 설명했습니다. – Grzegorz