Rozwiązanie powłoki POSIX
Pierwsze rozwiązanie terdona opiera się na rozszerzaniu nawiasów klamrowych, które jest właściwością bashi kshnie można go jednak używać w standardowej /bin/shpowłoce, do której Ubuntu jest dowiązane symbolicznie /bin/dash.
W przypadkach, w których musisz polegać /bin/shna przenośności swoich skryptów, istnieją dwa sposoby na rozwiązanie tego problemu. Jednym byłoby globbing. Właśnie cd folderAi stamtąd biegnij rm a_*. Innym sposobem byłoby zaimplementowanie alternatywnego użycia pętli w stylu C.while <CONDITION>;do ...done w języku powłoki i sformatowanie liczb za pomocą printf:
$ sh -c 'i=0;while [ $i -le 750 ]; do filename=$(printf "a_%06d" $i);echo "$filename";i=$((i+1)) ;done'
Zauważ, że tutaj używam echo. wymienić echo "$filename"zrm ./"$filename" lub rm -- "$filename"kiedy jesteś gotowy, aby usunąć pliki. Należy również pamiętać, że należy to zrobić, gdy już cdedytujesz żądany katalog.
(ab) za pomocą awk
Awk, który jest przyjemnym językiem podobnym do C, może nam pomóc na dwa sposoby: (1) możemy wygenerować nazwy plików za pomocą pętli for i sformatować je za pomocą sprintffunkcji oraz (2) usunąć te pliki za pomocą system()polecenia, które przekaże wygenerowaną nazwę pliku i rmpolecenie do /bin/sh:
awk 'BEGIN{for(i=0;i<=750;i++){filename=sprintf("a_%06d",i);system("rm "filename);} }'
Perl
Kontynuując pomysł przenośnego podejścia, w którym „generujemy” nazwy plików, możemy zrobić to samo w Perlu:
perl -le 'for(0..750){$fd=sprintf("a_%06d",$_);unlink($fd)}'