Попробуйте использовать эхо
вместо кат
.
# echo 'enter-uefi-fw' > /sys/firmware/efi/vars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var
-121--46150-
Отказоустойчивым для создания сценария конфигурации является autoreconf -i
, который не только сам вызывает autoconf
, но и множество других необходимых инструментов.
-121--19507-
Это произойдет, если в команде есть незамкнутая цитата. Это что-то вроде:
$ echo "test here
>
>
...
Вы можете выйти из этого режима, закрыв кавычку (напишите "
или '
, или что бы ни было в вашей открытой кавычке). Это также может быть блок с разделителями, частично полный для
или для
или некоторые другие конструкции. Можно также нажать Ctrl-C для отмены этой команды (затем нажать Up для ее изменения).
Иногда это может произойти без очевидной пропущенной цитаты, когда параметр или история расширения происходят там, где их не ожидали.
>
- это ваше значение PS2
(«вторичная подсказка»). Вы можете изменить это на что-то другое, чтобы напомнить вам, что произошло:
PS2="Unclosed >"
в вашем .bashrc
заставит его напечатать Unclosed >
в начале каждой строки.
Попробуйте:
sed -n 'h;n;p;n;G;p' < file.in > file.out
Например:
$ seq 9 | sed -n 'h;n;p;n;G;p'
2
3
1
5
6
4
8
9
7
Если я читаю ваш вопрос правильно, вы хотите принять последовательности из 3 строк из файла и поменяйте порядок Первый и последний в каждом? С GNU SED, вы могли бы сделать что-то вроде этого, я думаю:
sed -e :a -e '$!N' -e 's/\(.*\)\n\(.*\)\n\(.*\)$/\2\n\3\n\1/;Ta' file
, который постоянно пересекает линии, пока он не сможет сделать своп, а затем начинается.
С awk
:
awk '{l=$0;getline;print;getline;print $0"\n"l;}' < file_in > file_out
Объяснение:
Сохранить текущую запись в переменной l
Получить следующую запись, используя getline
Распечатать эту запись ( print
, вызов без аргументов всегда будет
распечатать текущую запись)
Получить следующую запись снова используя getline
Распечатайте эту запись, новую строку и первую запись, хранящуюся в l
. Для следующей записи (ей) начните с 1.
Ссылки