W katalogu znajdują się różne pliki - .txt
, .sh
, a następnie pliki planów bez modyfikatora .foo
.bash ~ dla pętli nad określonymi plikami w katalogu
Jeśli ls
katalogu:
blah.txt
blah.sh
blah
blahs
Jak mogę opowiedzieć do pętli używać tylko pliki bez .foo
modyfikować? Więc "rób rzeczy" na plikach bla i bla bla w powyższym przykładzie.
Podstawowa składnia to:
#!/bin/bash
FILES=/home/shep/Desktop/test/*
for f in $FILES
do
XYZ functions
done
Jak widać to skutecznie pętle nad wszystkim w katalogu. Jak mogę wykluczyć .sh
, .txt
lub dowolny inny modyfikator?
Gram z niektórymi instrukcjami if, ale jestem naprawdę ciekawy, czy mogę wybrać dla tych niemodyfikowanych plików.
Czy ktoś mógłby mi podać odpowiedni żargon dla plików tekstowych bez pliku .txt?
To działa dla mnie w zmodyfikowanej formie. Niektóre z moich nazw plików zawierają znaki ".", Więc używanie * \. * Nadal może je wybierać. Do czego służy twój kod? Dziękuję Ci! –
To tylko endif dla basha (jeśli jest cofnięty). –
hmm dlatego właśnie "done" spowodował błąd, potrzebny do zamknięcia instrukcji if. Fajne dzięki. –