En utilisant awk avec NSTask
-
12-09-2019 - |
Question
Comment puis-je utiliser cette commande awk:
awk 'NR>1{print $1}' string-to-modify
avec NSTask? Je l'ai déjà essayé de placer / usr / bin / awk comme le chemin de lancement, 'NR>1{print $1}'
comme argument, la chaîne à modifier comme un autre argument, mais tout ce que je reçois est la suivante:
/usr/bin/awk: syntax error at source line 1
context is
>>> ' <<<
/usr/bin/awk: bailing out at source line 1
Toute aide serait appréciée:)
La solution
D'abord, enlever les guillemets simples: NSTask
n'Invoque pas une coquille qui pourrait les interpréter. Ceci est la cause de l'erreur que vous obtenez.
En second lieu, awk
prend un nom de fichier comme dernier argument, pas une chaîne. Si vous avez vraiment besoin NSTask et awk, la commande shell serait echo string | awk ...
, ce qui impliquerait deux NSTask et un NSPipe.
Enfin, pour manupulation chaîne, utilisez NSString au lieu, comme mentionné par dreamlax .
Autres conseils
Qu'est-ce que vous essayez d'atteindre? Vous ne devriez pas besoin de lancer awk pour effectuer la manipulation de chaînes.
Si vous essayez de supprimer les lignes d'une chaîne, essayez d'utiliser quelque chose comme de NSString méthode getLineStart:end:contentsEnd:forRange:
.