나는이 패턴에서, 비슷한 이름의 파일이있는 디렉토리가 :파일 인스턴스 두 개를 제외한 모든 인스턴스를 삭제하는 방법은 무엇입니까?
00002_930831_fa.ppm 00398_940422_fa.ppm 00714_960530_fa.ppm
00002_930831_fb.ppm 00398_940422_fb.ppm 00714_960530_fb.ppm
00002_931230_fa.ppm 00399_940422_fa.ppm 00714_960620_fa.ppm
00002_931230_fb.ppm 00399_940422_fb.ppm 00714_960620_fb.ppm
00002_940128_fa.ppm 00400_940422_fa.ppm 00715_941201_fa.ppm
00002_940128_fb.ppm 00400_940422_fb.ppm 00715_941201_fb.ppm
00002_940422_fa.ppm 00401_940422_fa.ppm 00715_941205_fa.ppm
00002_940422_fb.ppm 00401_940422_fb.ppm 00715_941205_fb.ppm
00002_940928_fa.ppm 00402_940422_fa.ppm 00716_941201_fa.ppm
00002_940928_fb.ppm 00402_940422_fb.ppm 00716_941201_fb.ppm
내가 뭘해야 예를 들어 00002 샘플의 두 인스턴스를 제외하고 모두 제거되도록 (중요하지 않는 것) 예를 들어 00002_930831_fa.ppm
과 00002_930831_fb.ppm
으로 남았습니다. 문제는 모든 샘플, 00003, 00004 등에 대해이 작업이 필요하다는 것입니다. 각 샘플마다 두 개의 파일이 있어야합니다.
나는 find
으로 시도했지만, 내 조건에 얼마나 열중하는지 잘 모르겠습니다.
간단히 명령을 파이핑하여 해결할 수 있습니까, 아니면 bash 스크립트로 해결해야합니까?
ls 00002_* | tail -n +3 | xargs rm
은 rm $가 될 수 (LS 00002_ * | 꼬리 -n 3) 당신은 거기에 그렙을 추가 할 수 있습니다 – Majenko