Skrypt Bash, aby usunąć ilość znaków „x” na końcu wielu nazw plików w katalogu?
Mam listę nazw plików w katalogu (/path/to/local
). Chciałbym usunąć pewną liczbę znaków ze wszystkich tych nazw plików.
Przykładowe nazwy plików:
iso1111_plane001_00321.moc1
iso1111_plane002_00321.moc1
iso2222_plane001_00123.moc1
W każdej nazwie pliku chcę usunąć ostatnie 5 znaków przed rozszerzeniem pliku.
Na przykład:
iso1111_plane001_.moc1
iso1111_plane002_.moc1
iso2222_plane001_.moc1
Wierzę, że można to zrobić za pomocąsed
, ale nie mogę określić dokładnego kodowania. Coś jak...
for filename in /path/to/local/*.moc1; do
mv $filname $(echo $filename | sed -e 's/.....^//');
done
... ale to nie działa. Przepraszam, jeśli zabiłemsed
opcje, nie mam z tym dużego doświadczenia.