отключите окно CTRL-D близко в разделителе (эмулятор терминала)

  1. Выполните свою систему от RAM (быстрее, только для чтения, подойдет в известном хорошем состоянии, и т.д.),
  2. Регистрируйте свои данные к отдельному разделу на карте с интерфейсом USB. Мог бы попытаться монтировать его с sync если Ваши записи являются не слишком частыми.
47
08.07.2014, 20:16
2 ответа

Вы также можете отключить eof вообще в bash:

set -o ignoreeof

52
27.01.2020, 19:34

Это должно сработать:

awk -F- '$1!=a{printf "%s", $1} {printf "-%s&", $2} {a=$1}' file | sed 's/&$/\n/g'

Outout:

4480-1&-2&-3&-15&4581-1&-2&-3&-4

Explantion:

  • awk -F- delimiter is -
  • $1! =a{printf "%s", $1} выведите первую часть 4480, если она не совпадает с последней обработанной строкой
  • {printf "-%s&", $2} выведите вторую часть с & в конце
  • {a=$1} установите a в обработанную строку
  • sed 's/&$/\n/g' уберите последний символ, который является & и добавьте новую строку
-. 121---111914-

Можно использовать переменную окружения IGNOREEOF в режиме bash. Так что экспорт IGNOREEOF=42 и вам нужно будет нажать Ctrl+D сорок два раза, прежде чем он фактически выйдет из вашей оболочки.

В наборе также есть -о игнорировании.

.
34
27.01.2020, 19:34

Теги

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