Frage

Wie würde ich diesen awk Befehl:

awk 'NR>1{print $1}' string-to-modify

mit NSTask? Ich habe bereits versucht Einstellung / usr / bin / awk als Startpfad, 'NR>1{print $1}' als Argument, dann die Zeichenfolge als ein weiteres Argument zu ändern, aber alles, was ich bekommen, ist dies:

/usr/bin/awk: syntax error at source line 1
 context is
     >>> ' <<< 
/usr/bin/awk: bailing out at source line 1

Jede mögliche Hilfe würde geschätzt werden:)

War es hilfreich?

Lösung

Entfernen Sie zuerst einfache Anführungszeichen: NSTask keine Schale nicht invoque, die sie interpretieren könnte. Dies ist die Ursache für den Fehler, den Sie erhalten.

Zweitens nimmt awk einen Dateinamen als letztes Argument, nicht einen String. Wenn Sie wirklich NSTask und awk benötigen, würde der Shell-Befehl echo string | awk ... werden, die zwei NSTask verbunden wäre und eine NSPipe.

Schließlich für String manupulation verwenden NSString statt, wie erwähnt von dreamlax .

Andere Tipps

Was wollen Sie erreichen? Sie sollten nicht awk starten müssen String-Manipulation durchzuführen.

Wenn Sie versuchen, Zeilen aus einer Zeichenfolge zu entfernen, versuchen, etwas mit wie NSString der getLineStart:end:contentsEnd:forRange: Methode.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top