Я хотел бы объединить две последовательные строки в текстовом файле Windows, используя внешнюю среду bash, например ту, которую предоставляют, например, Cygwin или MobaXTerm.
Я знаю, что есть похожие вопросы, которые уже заданы и уже решены, но по какой-то причине они не работают с моей средой. Возможно, потому что Windows добавляет некоторые невидимые символы, не распознаваемые инструментами bash?
Вот решения из других похожих вопросов, которые я уже пробовал:
awk 'NR%2{a=$0;next}{print a","$0}' test.txt
grep "line" test.txt |awk 'NR==0{prefix=$0;next} {print prefix, $0}'
sed '$!N;s/\n/,/' test.txt
Ввод, с которым я работаю:
first line
second line
third line
fourth line
fifth line
sixth line
Ожидаемый результат:
first line,second line
third line,fourth line
fifth line,sixth line
Фактический результат с любым кодом, который я пробовал до сих пор:
1)
➤ sed '$!N;s/\n/,/' test.txt
,second line
,fourth line
,sixth line
2)
➤ grep "line" test.txt |awk 'NR==0{prefix=$0;next} {print prefix, $0}'
first line
second line
third line
fourth line
fifth line
sixth line
Любая помощь здесь будет принята с благодарностью.