Jak usunąć jakiekolwiek rozszerzenie z kilku plików?
basename $1 .*
Próbowałem tak, ale to nie działa :/
Jeśli znasz rozszerzenie, to najprościej tak:
rename ".py" "" *.py
for file in `find . -type f` ; do old_file=`echo $file | sed -e "s,[.]/,,g"` ; new_file=`echo ${old_file} | sed "s,[.][^.]*$,,g"` ; mv ${old_file} ${new_file} ; done
Usuwa rozszerzenia wszystkich plików znajdujących się w bieżącym katalogu i jego podkatalogach. Niestety nie działa dla plików ukrytych, których nazwa rozpoczyna się od znaku kropki.
Proste łatwe i przyjemne....
#!/usr/bin/env bash FILENAME1="file.py" FILENAME2="calculate.doc" FILENAME3="music.mp3" for file in $FILENAME1 $FILENAME2 $FILENAME3 do echo ${file%.*} done
93,440 zapytań
142,431 odpowiedzi
322,679 komentarzy
62,802 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj