• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie rozszerzania (bash)

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
333 wizyt
pytanie zadane 11 marca 2018 w Rozwój zawodowy, nauka, praca przez focused Użytkownik (580 p.)

Jak usunąć jakiekolwiek rozszerzenie z kilku plików? 


basename $1 .*

Próbowałem tak, ale to nie działa :/

3 odpowiedzi

0 głosów
odpowiedź 11 marca 2018 przez Benek Szeryf (93,150 p.)
wybrane 11 marca 2018 przez focused
 
Najlepsza

Jeśli znasz rozszerzenie, to najprościej tak:

rename ".py" "" *.py

 

komentarz 11 marca 2018 przez focused Użytkownik (580 p.)
no to ok, ale jak usunąć nie znając rozszerzenia?
komentarz 11 marca 2018 przez Benek Szeryf (93,150 p.)
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.

0 głosów
odpowiedź 11 marca 2018 przez adrian17 Mentor (354,120 p.)
`basename` tylko pokazuje nazwę bez rozszerzenia, sam nic nie robi z plikiem. Do tego potrzeba `mv` lub `rename`.

Przykłady z SO: https://stackoverflow.com/questions/4509485/linux-remove-file-extensions-for-multiple-files
0 głosów
odpowiedź 11 marca 2018 przez mokrowski Mędrzec (158,660 p.)

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

 

Podobne pytania

0 głosów
1 odpowiedź 94 wizyt
pytanie zadane 6 marca 2018 w Rozwój zawodowy, nauka, praca przez focused Użytkownik (580 p.)
0 głosów
0 odpowiedzi 2,062 wizyt
0 głosów
0 odpowiedzi 596 wizyt
pytanie zadane 19 marca 2021 w Inne języki przez ProjectMat30 Początkujący (320 p.)

93,440 zapytań

142,431 odpowiedzi

322,679 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

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

...