내 Linux 컴퓨터에는 다음과 같은 파일 이름을 가진 파일이 많이 있습니다.
Veillonella-sp.-AF13-2-AF13-2.Scaf1.faa
Weissella-cibaria-strain-AM27-24-AM27-24.Scaf1.faa
Streptococcus-salivarius-strain-AF24-6AC-AF24-6AC.Scaf1.faa
파일 이름의 일부가 반복됩니다. 나는 단지 독특한 이름을 갖고 싶다. 이 파일 이름을 편집하여 다음 내용만 포함하고 싶습니다.
Veillonella-sp.-AF13-2.faa
Weissella-cibaria-strain-AM27-24.faa
Streptococcus-salivarius-strain-AF24-6AC.faa
이 파일 이름을 편집하는 방법을 알려주실 수 있나요?
내 Linux 배포판은 CentOS입니다.
감사해요!
답변1
Perl을 사용하여 구현됨 rename
:
rename -v 's/(-\w+?-\d+?)\1/$1/' *.faa
그러면 -word-digits
현재 디렉터리에서 일치하는 파일 이름의 중복 항목이 제거됩니다.*.faa
-\w+?-\d+?
, 즉 을 일치시킨 -word-digits
다음 동일한 문자열을 다시 일치시켜 이를 수행합니다 . 이러한 일치 항목은 문자열의 첫 번째 인스턴스로만 대체됩니다.
답변2
rename 's/-2-AF13-2.Scaf1.//' *.faa