2009-08-09 3 views
0

Как мне использовать эту команду AWK:Использование AWK с NSTask

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

с NSTask? Я уже пробовал настройки/USR/BIN/AWK как путь запуска, 'NR>1{print $1}' в качестве аргумента, то строка для изменения в качестве еще одного аргумента, но все, что я получаю это:

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

Любая помощь будет оценена :)

ответ

2

Во-первых, удалите одинарные кавычки: NSTask не выставляет оболочку, которая могла бы их интерпретировать. Это является причиной ошибки, которую вы получаете.

Во-вторых, awk принимает имя файла как последний аргумент, а не строку. Если вам действительно нужны NSTask и awk, команда оболочки будет echo string | awk ..., в которой будут задействованы два NSTask и NSPipe.

И, наконец, для ввода строки используется NSString, как указано в dreamlax.

2

Что вы пытаетесь достичь? Вам не нужно запускать awk для выполнения строковых манипуляций.

Если вы пытаетесь удалить строки из строки, попробуйте использовать что-то вроде метода NSString getLineStart:end:contentsEnd:forRange:.

Смежные вопросы