Как сложить подстановочные знаки для определенных файлов?

Один из способов сделать это — подсчитать количество строк в начале вашего скрипта. При выводе выводите запятую в конце только в том случае, если ваш номер строки не совпадает с количеством строк. Как это сделать, объясняется здесь .

Другой подход заключается в том, чтобы не печатать запятую при выводе первой записи и печатать одну перед последующими записями. Это можно сделать следующим образом:

 awk -F, '{if (!i)printf "\""$0"\"";else printf ",\n\""$0"\"";i=1}END{print ""}' a.in

Это определенно намного чище.

Есть и третий путь. Код

 if(getline == 0)

читает следующую строку и, следовательно, сообщает вам, находитесь ли вы в конце файла. Это даже чище, чем описанный выше метод, но влечет за собой накладные расходы из-за двойного чтения файла, поэтому я не использую его, если только второй метод не дает сбой (, например, мне нужно обработать следующий -- -последняя строка тоже по-другому ).

1
03.11.2017, 14:26
0 ответов

Теги

Похожие вопросы