bummel Geschrieben 2. November 2012 Geschrieben 2. November 2012 Hallo, ich bin gerade dabei ein Script anzupassen, habe aber leider ein Problem. Folgene Zeile bringt mir Probleme... awk ' { print $2 } ' Datei | sed 's/\$//' | sort Ausgabe per Kommandozeile: Wort1 Wort2 Wort3 Ausgabe per Crontab: Wort1$ Wort2$ Wort3$ Kann mir jemand sagen was ich anpassen muss? Gruß Bummel Zitieren
Ichnafi Geschrieben 12. Dezember 2012 Geschrieben 12. Dezember 2012 (bearbeitet) Ich tippe mal auf einen Escape-Fehler. (und jetzt nur mal für mich, um zu sehen, ob ich nicht ganz verkalkt bin): Du willst so wie ich das Verstehe, jeweils beim zweiten Wort einer Zeile einer Datei das $ durch einen / ersetzen und dann sortieren? Bearbeitet 12. Dezember 2012 von Ichnafi Zitieren
bummel Geschrieben 13. Dezember 2012 Autor Geschrieben 13. Dezember 2012 Was ist ein Escape-Fehler? ^^ Vllt kenne ich das nur unter einer anderen "Bezeichung" Ich möchte das $ mit nichts ersetzen. Zitieren
hbspike Geschrieben 13. Dezember 2012 Geschrieben 13. Dezember 2012 Was ist ein Escape-Fehler? ^^ In manchen Programmiersprachen sind / und \ reservierte Zeichen, genauso wie z.B. " und ' . In Java gibt es ja sowas wie String test = ""; willste du jetzt ein " in den String speichern musst du diesesn escapen , sprich String test = "\""; Hoffe das hat es etwas verdeutlicht. Zitieren
bummel Geschrieben 13. Dezember 2012 Autor Geschrieben 13. Dezember 2012 Ok kannte einfach diesen Begriff dafür nicht. Durch den \ habe ich ja auch das $ entwertet. Andernfalls würde das $ als Ende der Zeile gelten, so ist es einfach ein Zeichen. Zitieren
Ichnafi Geschrieben 13. Dezember 2012 Geschrieben 13. Dezember 2012 Schmeiße ich deinen Code in eine Datei und lasse diese von cron ausführen, klappt das Wunderbar. Zum Escapen: Pakt man deinen Code in Backticks und lässt das ganze durch ein echo ausgeben, ist das $ falsch escaped. hier müssten dann 3 \ vor das $. Wenn du dir sed sparen willst, geht es auch so: awk '{sub("\$",""); print $2}' DATEI | sort Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.