Mam pliki, których nazwy wyglądają tak:
Sim1-2_40.36.chr20_sb.foo.indel.novoalign.sam
Sim1-2_40.36.chr20_sb.foo.indel.bwa.sam
Co chcę zrobić, to wymienić wszystko indel
ze snp
w nazwach plonowanie
Sim1-2_40.36.chr20_sb.foo.snp.novoalign.sam
Sim1-2_40.36.chr20_sb.foo.snp.bwa.sam
Ale dlaczego to polecenie unixowe nie działa?
$ rename 's/indel/snp/' *.sam
doesn't work
z tym poleceniem? Czy pojawia się błąd? Czy to nie zmienia nazw plików? Coś innego?Odpowiedzi:
Ponieważ używasz niewłaściwego programu zmiany nazwy. To jest właściwe.
źródło
„Normalne”
rename
narzędzie (częśćutil-linux
) pobiera 3 lub więcej argumentów (jak wspomniano w TFM ..)Dlatego (prawdopodobnie) szukasz:
Przetestuj to najpierw w katalogu scratch, ponieważ być może używasz innej implementacji
rename
.Lub sprawdź stronę podręcznika. kaszel
źródło
indel
isnp
tak drogi jakblah.stuffindelsomeotherstuff.x
nie ulegają zmianie, jak również.źródło
ls -1 | while read item
zamiastfor item in *.sam
?rename
nie wykonujesed
stylowych zamian. Ten bardzo krótki skrypt Perla pozwoli Ciregmv *.sam s/indel/snp/
:źródło