Mam wiele plików, które mają wspólny wzór w nazwie, który chciałbym usunąć. Na przykład mam pliki "a_file000.tga" i "another_file000.tga". Chciałbym wykonać operację na tych plikach, które usuwają wzorzec "000" z ich nazw, powodując nowe nazwy, "a_file.tga" i "another_file.tga".Jak usunąć określone znaki ze nazw plików przy użyciu BASH
Odpowiedz
Spróbuj tego (to działa w zwykły stary Bourne sh
również):
for i in *000.tga
do
mv "$i" "`echo $i | sed 's/000//'`"
done
Oba argumenty są zapakowane w cudzysłowie wspierających spacji nazwy plików.
atakujących może zrobić sed
-jak podstawienia:
for file in *; do mv "${file}" "${file/000/}"; done
ładnie działa na OS X (10.6.8). Poręczny i zwięzły. Dzięki. – jamesnotjim
Dobrze, czy możesz wyjaśnić funkcję "{"? – efrem
@efrem: nawiasy klamrowe są opcjonalnym ogranicznikiem nazw zmiennych i są niezbędne dla rozszerzeń parametrów. Aby uzyskać więcej informacji, zobacz [Bash Manual] (https://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion). –
Rozwiązanie non-bash, ponieważ wiem, że dwa szybkich plakaty zostały już pokryte że:
Jest doskonały program krótki Perl nazywany rename
który jest domyślnie instalowany w niektórych systemach (inni mają mniej przydatny program zmiany nazwy) . To pozwala używać perl regex do zmiany nazwy, na przykład:
rename 's/000//' *000*.tga
#!/bin/bash
ls | while read name; do
echo mv $name ${name/$1//}
done
- 1. Jak usunąć niedozwolone znaki przed próbą zapisania nazw plików?
- 2. Zamień lub usuń określone znaki z nazw plików wszystkich plików w folderze
- 3. Bash skrypt, aby usunąć wiodące białe znaki z plików nazwy
- 4. Python - jak usunąć ukryte znaki ze stringów?
- 5. Jak usunąć określone znaki w programie Excel 2010 komórce
- 6. usuń określone znaki z NSString
- 7. Jak usunąć określone podciągi ze zbioru ciągów w języku Python?
- 8. Jak usunąć rozszerzony ascii przy użyciu Pythona?
- 9. Skrypt Bash, aby usunąć "x" ilość znaków na końcu wielu nazw plików w katalogu?
- 10. Unixowe znaki wieloznaczne nazw plików w języku Python?
- 11. Jak zastąpić określone znaki idiomatycznie w Rust?
- 12. wywołania funkcji przy użyciu nazw
- 13. Jak mogę odczytać listę nazw plików z pliku w bash?
- 14. Wyodrębnianie nazw plików ze ścieżki MYSQL
- 15. Jakie są legalne/dozwolone znaki dla nazw plików serwera WWW?
- 16. Jak usunąć wszystkie znaki z ciągu znaków?
- 17. Jak usunąć spację ze sznurka?
- 18. Ruby przy użyciu nazw/moduł
- 19. bash: ostatnie 4 znaki wyjściu ze standardowym wyjściem, Inline
- 20. Jak usunąć znaki specjalne html?
- 21. Jak usunąć metodę przy użyciu Javassist?
- 22. Jak usunąć zdalny oddział przy użyciu Git?
- 23. Elasticsearch: Jak usunąć indeks przy użyciu Pythona
- 24. Jak znaleźć określone wiersze w tabeli przy użyciu Selenium?
- 25. jak wyodrębnić określone bajty z pliku przy użyciu Uniksa
- 26. Jak usunąć określone elementy w tablicy numpy
- 27. przy użyciu DocumentFilter.replace ze znakami Unicode
- 28. Jak usunąć "." od nazw kolumn w ramce danych?
- 29. Czy można ponownie używać nazw zmiennych przy użyciu przestrzeni nazw?
- 30. Debian: Sprawdzaj użycie procesora przy użyciu bash
+1 dla większości przenośnych rozwiązań (i dlatego, że mam zbyt mało akcji na przegranych, aby utrzymać dobre odpowiedzi na wszystkie pytania). –