Pergunta

Como eu poderia usar este comando awk:

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

com NSTask? Eu já tentei configuração / usr / bin / awk como o caminho lançamento, 'NR>1{print $1}' como um argumento, então a string para modificar como outro argumento, mas tudo que eu vejo é o seguinte:

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

Qualquer ajuda seria apreciada:)

Foi útil?

Solução

Em primeiro lugar, remover aspas simples: NSTask não invoque um shell que poderia interpretá-los. Esta é a causa do erro que você começa.

Em segundo lugar, awk leva um nome de arquivo como último argumento, não uma string. Se você realmente precisa NSTask e awk, o comando shell seria echo string | awk ..., que envolveria dois NSTask e uma NSPipe.

Finalmente, para manupulation corda, uso NSString em vez disso, como mencionado por dreamlax .

Outras dicas

O que você está tentando alcançar? Você não deve precisar de awk lançamento para executar a manipulação de cadeia.

Se você está tentando remover linhas de uma string, tente usar algo como o NSString getLineStart:end:contentsEnd:forRange: método.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top