2015-03-13 3 views
1

Я пытаюсь разработать общий скрипт для получения значений разделенных столбцов (как заголовок файла). Разделение через awk отлично подходит для получения имен столбцов. Я не понимаю, как получить каждую вкладку разделенных значений до конца или последнего NF (если используется awk). Количество столбцов в файле не исправить, то она могла придумать с 20 колоннами, иногда это может быть 100 и т.д. Для ех: вкладка разделенных столбцов в файле являются-Разбор заголовка разделенного заголовка файла в unix

abc ttr nnc r32 inc ... 

Если Я пишу простой AWK как:

head -1 file | awk 'BEGIN {NF="\t"} {print $1,$2, etc} 

было бы представить каждую вкладку разделенных колонку, представленную $ 1, $ 2, и т.д. Я попытался инкрементный версию, заменив $ 1, $ 2, и т.д. на $ я, но не будет работать ,

Любые идеи по этому вопросу?

+1

Что вы пытаетесь достичь? вы попробовали 'awk 'BEGIN {NF =" \ t "} {for (i = 1; i <= NF; i ++) print $ i}' –

+0

Спасибо за ответ Avinash, Я уже пробовал это, и это не дает соответствующий результат. Некоторые столбцы разделены пробелами, также как «Номер телефона», в этом случае они не должны разделять эти два, так как мой NF уже «\ t», но он это делает. – knowone

ответ

1

Если я правильно понимаю, вы спрашиваете, как перебирать поля от 1 до NF. Вот пример такой петли:

+0

Спасибо, Джон, это то, что я хотел. Думаю, я не использовал printf правильно. – knowone

+0

@habe Рад, что это сработало для вас. – John1024

+0

@habe вы можете сделать это с помощью 'tr '\ t' '''. Если вы сообщите нам, что вы ДЕЙСТВИТЕЛЬНО пытаетесь сделать это, вам нужно сделать эту 'tr'ansformation, мы могли бы помочь ... –

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