Wie kann ich die Liste der Buchstaben von A bis Z und Durchlaufen Sie in der shell?
Sagen, dass ich Durchlaufen von Buchstabe A bis Buchstabe Z in der csh-shell. Wie kann ich kurz und bündig machen?
In der bash würde ich sowas
for i in 'A B C ...Z'; do echo $i; done
Der Punkt ist, ich will nicht zu schreiben A bis Z, ich will so etwas wie
[A-Z]
Können Sie vorschlagen, einen ein-Zeilen-Vorschlag in AWK oder Perl?
- Es ist "c-shell" nicht "Korn shell". "Korn" shell ist ein anderes Tier ganz.
- In der bash: $ for i in {A..Z}; do echo $i; done
- Korn: $ for i in {A..Z}^Jdo^Jecho $i^Jdone
- In der bash würde das weglassen der Anführungszeichen um die Buchstaben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Perl
oder zur Verwendung in einem shell:
perl -E'say for A..Z'
print A..Z
auch funktioniertHoffe, du Ruby installiert ist. 😉
Sehen Sie diese einfachen Befehlszeile von der shell aus:
Ruby Iteration von A-Z und Fragen zum drucken der Briefe:
Iteration von A bis Z und ersetzen den Wert, den man erhält, die während der aktuellen iteration in einen string und drucken Sie dann die Zeichenfolge:
verwenden Sie die Ausgabe der iteration von A nach C als argument zu
mkdir
, um erstellen Sie 3 Verzeichnisse:tun, eine Auflistung zu sehen, die Ergebnisse:
Hoffe, das hilft ein bisschen! 😉
Grüße,
Iuliu
niemand hat gawk Lösung, daher hier eine
jot -c 26 65
); echo $i; end jot: Befehl nicht gefunden. foreach?Wie etwa:
... oder bin ich Missverständnis, was du versuchst zu erreichen?
(Zugegeben, der Vorschlag mit
$,=" "
ist sogar besser als das explizite Perlfor
loop). Aber ich verstehe nicht Wert, das einwickeln der Bereich in+()
Satzzeichen. Es funktioniert für mich, wenn ich nur verwenden:print A..Z;
... obwohlperl -we 'print a..z;' gives me a warning about unquoted strings, but the uppercase version doesn't. The statement
print +(a..z)gives exactly the same warning ... and quoting any of these eliminates the warning. So what's the intent of the
+(...)`? Ist es einfach nur versucht zu zwingen, diese in eine Liste Kontext?)MIT AWK:
Entnehmen Sie bitte der ASCII-Zeichensatz unter dem folgenden link:
http://ee.hawaii.edu/~tep/EE160/Book/chap4/subsection2.1.1.1.html
Nun zum Durchlaufen jeder Satz Wert ist, können Sie verwenden Sie den AWK-Befehl wie folgt:
awk 'BEGIN{ for(i=97;i<123;i++){printf ("%c ",ich}; printf "\n";}'
Ergebnis:
a b c d e f g h i j k l m n o p q r s t u v w x y z
Hier 97 entspricht dem Buchstaben "a" und 122 "z". Variieren Sie das Ergebnis, indem Sie den Wert aus der Liste oben angegeben.
und so weiter.