On 08/10/2010 08:17 PM, Andrew Bondarenko wrote: > On 08/10/2010 08:02 PM, Людмила Бандурина wrote: >> Здравствуйте, >> >> Посоветуйте, пожалуйста, способ обработать .csv >> >> Имеется: >> >> "name1","name_eng1","code1","shortCode1" >> "name2","name_eng2","code2","shortCode2" >> >> И так далее, таких строк очень много >> >> Нужно получить: >> >> "name1", "name2", "name3", "name4", "name5", "name6", "name7", "name8", >> "name9", "name10", "name11", "name12", "name13", "name14", "name15", >> "name16", >> >> И так далее - по 8 в строке, только первое поле из имеющихся в .csv >> Или хотя бы в одну строку - но только первое поле. >> Кавчки есть во входном файле, они должны быть и в выходном файле. >> >> Я пока совсем не знаю bash, даже на таком уровне... >> > > Дак це ж гавка! =) > > > awk -F',' ' BEGIN { current=1 } { if (current<8) { printf $1"," ; > current++ ; } else { print $1"," ; current=1 ; } } ' infile > > > где infile, как Вы понимаете, входной файл > >
хм... присмотрелся к "Нужно получить", у Вас там пробелы ещё, если синтаксис гавки непонятен, то это будет так: awk -F',' ' BEGIN { current=1 } { if (current<8) { printf $1", " ; current++ ; } else { print $1", " ; current=1 ; } } ' infile а что бы "хотя бы в одну строку" - это совсем просто: awk -F',' ' { printf $1", " } ' infile Всегда можете обратиться за пояснениями ;) -- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru