Добавить файл .txt с помощью cat внутри последней существующей строки другого файла .txt

Подход с двойным awk:

$ awk '{printf("%s",$0 (NR%5==0?ORS:":"))}' file1 |awk -F':' '{print $1,$2;print $3,$4,$5}'
1 2
3 4 5
6 7
8 9 10

Строки сначала объединяются в группы по пять, каждая строка объединяется символом :.

Решение работает, даже если строки содержат больше слов

$ cat file2
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
this is line 6
this is line 7
this is line 8
this is line 9
this is line 10

$ awk '{printf("%s",$0 (NR%5==0?ORS:":"))}' file2 |awk -F':' '{print $1,$2;print $3,$4,$5}'
this is line 1 this is line 2
this is line 3 this is line 4 this is line 5
this is line 6 this is line 7
this is line 8 this is line 9 this is line 10
0
21.01.2020, 20:40
1 ответ

Применить конкретную sedзамену сразу после добавления:

$ cat initial.txt >> final.txt
$ sed -Ei '/^lats =/N; s/\n\s{6}//' final.txt
1
28.01.2020, 02:38

Теги

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