Как добавить несколько строк в файл без последней новой строки?

У меня очень длинная строка, разделенная кусками. Я хочу добавить их в файл, не помещая символ новой строки, используя bash.

Пример:
Первое добавление

cat >> abc.sh << EOL echo "bla bla" ifcon EOL 

Второе добавление

 cat >> abc.sh << EOL fig -a uname -a EOL 

И файл abc.sh должен быть:

 echo "bla bla" ifconfig -a uname -a 

и не

 echo "bla bla" ifcon fig -a uname -a 

Как я могу это достичь?

  • Процесс проверки и уничтожения пользователя перед удалением
  • Как принять переменную
  • Поиск писателя файла
  • Как начать новую строку каждый n-й столбец?
  • как читать переменные в bash и передавать эти переменные в программу c ++ в качестве аргументов
  • Как получить возвращаемое значение из функции MATLAB
  • Понимание сценария сигнала
  • Использование файла ASCII в mailx
  • 2 Solutions collect form web for “Как добавить несколько строк в файл без последней новой строки?”

    << всегда включает в себя завершающую новую строку (кроме пустого документа).

    Вам нужно будет:

     printf %s 'echo "bla bla" ifcon' >> file 

    Или используйте команду, которая удаляет конечный символ новой строки вместо cat :

     awk '{printf "%s", l $0; l=RT}' << EOF >> file echo "blah bla" ifcon EOF 

    (Или perl -pe'chomp if eof' )

    Или, где здесь-документы реализованы с временными файлами ( bash , zsh , pdksh , AT & T ksh , Bourne, а не mksh , dash или yash ), в системах GNU / Linux вы могли бы сделать:

     { truncate -s-1 /dev/stdin && cat; } << EOF >> file echo "blah bla" ifcon EOF 

    Используйте echo с ключом -n:

      echo -n "blah blah" >> file 
    Linux и Unix - лучшая ОС в мире.