Задать вопрос
@AlexSer

Как объединить строки в bash скрипте?

Делаю объединение строк в цикле while, почему то не объеденяет, а выводит последнюю строку.
#!/bin/sh
VAR=""
while read line;
 do
           
  VAR+="${line}"
done < data.txt
echo "$VAR"
  • Вопрос задан
  • 2471 просмотр
Подписаться 2 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Учебный центр IBS
    AL-1802 Администрирование Astra Linux Special Edition 1.8
    2 недели
    Далее
  • Слёрм
    Linux для разработчиков
    2 недели
    Далее
Решения вопроса 1
Viji
@Viji
DevOps Engineer
1. Используйте bash, а не sh - разные интерпретаторы

#!/bin/bash
VAR=""
while read line;
 do
  VAR+="$line"
done < data.txt
echo "$VAR"


2. Если хотите sh или bash - без разницы
VAR=$(cat data.txt | tr -d "\n")
echo "$VAR"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
xotkot
@xotkot
хорошо есть и хорошо весьма
awk '{printf $0}' data.txt
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Можно попробовать

cat src1.txt ${line} >> src1.txt
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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