Можно ли заменить только двойные символы новой строки в текстовом файле, используя sed, awk, grep, tr или что-то еще?
this
is
data
this
is
more
data
Что мне нужно сделать, это заменить все двойные символы новой строки (\ n \ n, пробелов нет) пробелом, но сохранить все одинарные символы новой строки, чтобы все мои точки данных находились на отдельной строке.
this is data
this is more data
Это возможно?
sed ':a;N;$!ba;s/\n\n/ /g' file1.txt > file2.txt
в результате оба файла имеют одинаковый хэш MD5.Просто другой вариант:
awk
версияисточник
RS
является разделителем записей intput, по умолчанию это перевод строки.ORS
является разделителем выходной записи, по умолчанию символ новой строки. По-прежнемуman awk
чтобы получить больше информации.Добавление к ответу @ MariusMatutiae: Если файл слишком велик для чтения в память, вы можете использовать классический, но гораздо более медленный способ:
источник