sbh
@sbh

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

Нужно вставить в файл строку перед последней его строкой.
Как это лучше реализовать?
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 3
Есть многословный вариант

#!/bin/bash

NEED_STR='penultimate line'

FILE='need_file_path'

LAST=$(tail -1 $FILE)
sed -i '$ d' $FILE
echo "$NEED_STR" >> $FILE
echo "$LAST" >> $FILE


Вероятно, можно короче, но придумать не могу
Ответ написан
Комментировать
@assembled
Скрипт на AWK, как аргумент принимает строку которую нужно вставить, перенаправьте ввод-вывод на нужные файлы:
BEGIN {
   s = "\n"
}

{
    if ( s != "\n" ) print s ;
    s = $0 ;
}

END {
    print ARGV [ 1 ] ;
    print s ;
}
Ответ написан
sed -i '$iстрока' /tmp/file.txt
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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