Domanda

Come faccio a usare questo comando awk:

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

con NSTask? Ho già provato a installare / usr / bin / awk come percorso di lancio, 'NR>1{print $1}' come argomento, poi la stringa di modificare come un altro argomento, ma tutto quello che ottiene è questo:

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

Qualsiasi aiuto sarebbe apprezzato:)

È stato utile?

Soluzione

In primo luogo, rimuovere le virgolette singole: NSTask non invoque un guscio che li potesse interpretare. Questa è la causa dell'errore che si ottiene.

In secondo luogo, awk prende un nome di file come ultimo argomento, non una stringa. Se si ha realmente bisogno NSTask e awk, il comando di shell sarebbe echo string | awk ..., che comporterebbe due NSTask e NSPipe.

Infine, per manupulation stringa, utilizzare NSString invece, come detto da dreamlax .

Altri suggerimenti

Che cosa stai cercando di raggiungere? Non dovrebbe essere necessario lanciare awk per eseguire la manipolazione di stringhe.

Se si sta cercando di rimuovere le linee da una stringa, provare a utilizzare qualcosa di simile di NSString metodo getLineStart:end:contentsEnd:forRange: .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top