Wie verwende ich eine Bash for-Schleife, um eine Zahl an jeden Eintrag anzuhängen? Was ich versucht war die folgende:Ordnen Sie jeder Zeile in bash eine Zahl zu
for var in $(cat tmp), i in {1..7}; do echo $var:$i >> days_of_week; done
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Ich suche für diese Ausgabe hier:
Monday:1
Tuesday:2
Wednesday:3
Thursday:4
Friday:5
Saturday:6
Sunday:7
Können Sie ein bisschen hoch levelof geben, was zu tun ist? Was ist der Unterschied zwischen '/' und '\' in diesem Befehl? was ist 's? –
Es kann ein bisschen viel abhängig von Ihrer Kenntnis der regulären Ausdrücke im Allgemeinen und sed im Besonderen sein. Ich kann Ihnen zumindest eine globale Ansicht geben, sagen Sie mir, ob Sie mehr Informationen in einer bestimmten Richtung haben wollen: Ich benutze sed, um einen 's'substitution-Befehl auszuführen, von dem ein Format' s/pattern/replacement/'ist. Hier passe ich eine Nummer am Anfang einer Zeile in einer Gruppe an, dann den Rest der Zeile in einer anderen; Dies entspricht dem Format "cat -n". Schließlich verwende ich im Ersatzmuster Rückverweise, um diese Gruppen zu invertieren und sie mit einem ":" zu verbinden. – Aaron