2017-02-17 1 views
1

Я хочу отсортировать файл с продуктом и ID, и я получу несколько файлов в качестве вывода в awk. Команды я используюСортировка файла двумя столбцами при сохранении заголовка на выходных файлах командой AWK

awk -F"|" 'NR>1 {print > "INITIATION_V1_"$1"_"$2".csv"}' test1.csv 

Но это не мешает заголовок для меня в каждых выходных файлах, которые я получил. Я много искал в google и пытался с NR==1 || и NR==1 ; тоже, но это не сработает для меня. Кто-нибудь может помочь мне в этой проблеме? Благодарю.

+0

Спасибо miltonb за редактирование моего вопроса. Я новичок в этой области. У вас есть идея решить мою проблему? Спасибо. –

+0

@HengUnn, предоставить минимальный примерный входной файл и соответствующий ожидаемый выходной файл (имя * и * содержимое). –

+0

Я хочу разделить на столбец 1 (продукт) и столбец 2 (ID). Например, Итак, все для product = A и ID = 1 будет в одном файле. И я хочу сохранить один и тот же заголовок для каждого выходного файла. –

ответ

1
awk -F\| 'NR==1 {h=$0; next} 
       {file="INITIATION_V1_"$1"_"$2".csv"; 
       print (a[file]++?"":h ORS) $0 > file}' test1.csv 

a[file]++ является счетчиком строк индексируются выходным файлом, вставьте заголовок прилагаемый с ПРСОМ только перед первой строкой, которая станет заголовком для каждого разделенного файла.

+0

Он разработал именно то, что я хочу для выходных файлов. Большое вам спасибо @karakfa! Мне нужно некоторое время, чтобы переварить код, данный вами. Ценить это! –

+0

Хорошая логика, '++' – Inian

+0

@ Инешь спасибо за вашу помощь. Вы, ребята, просто слишком классны и добры, чтобы помочь. Это помогает мне многому научиться. Надеюсь узнать от вас, ребята, в будущем. Оставайся на связи. –

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