LINUX.ORG.RU

История изменений

Исправление ABW, (текущая версия) :

Странно, а у меня не уходят.

Потому что это не решение.
Чтобы отдать ровно столько хвостовых \n, сколько их было, надо

  buf="$( grep 'regex' "$file" ; echo / )"
  printf '%s' "${buf%/}" > "$file"
А чтобы не потерять код возврата, для grep достаточно замены ';' на '&&', но в общем случае всё гораздо хуже.

Исходная версия ABW, :

Странно, а у меня не уходят.

Потому что это не решение.
Чтобы отдать ровно столько хвостовых \n, сколько их было, надо

  buf="$( grep 'regex' "$file" ; echo / )"
  buf="${buf%/}"
  printf '%s' "$buf" > "$file"
А чтобы не потерять код возврата, для grep достаточно замены ';' на '&&', но в общем случае всё гораздо хуже.