make row to column n insert newline in every last row

Обои по умолчанию из всех выпусков хранятся здесь

http://packages.linuxmint.com/pool/main/m/

под каталогами, начиная с mint-backgrounds- . Разверните архив tar.gz и оттуда поместите вложенный каталог ./mint-backgrounds-xxxxx/usr/share/backgrounds/linuxmint-xxx в /usr/share/backgrounds или (непроверенный) разрешите deb сделать это для вас.

-121--185285-

Не отправляйте хром в фоновый режим:

chromium "$sites/$page" & sleep 1

Держите его на переднем плане:

chromium "$sites/$page"
sleep 1

-121--248648-

Простое решение состоит в том, чтобы изменить пароль, сделав его, по крайней мере, до минимальной длины пароля, требуемой Fedora. После этого вы сможете использовать этот пароль в sudo .

Изменение минимальной длины обсуждалось в начале этого года в LWN Fedora и «сильных» паролях , указывая, что это будет 8 символов. Если вы сменили пароль (и все еще слишком короткий), система должна сообщить вам. Но вы можете проверить минимальную длину, посмотрев на /etc/login.defs . В Fedora 22 это было

PASS_MIN_LEN    5

Для получения дополнительной информации см. страницу руководства login.defs .

0
30.07.2018, 12:50
4 ответа

Использование Awk в режиме абзаца :

$ awk -vRS= -vOFS= '{$1=$1} 1' file.txt
john,5901,open
lina,2401,open
jody,5401,open

Отключение разделителя записей с помощью RS=заставляет awk рассматривать все, что находится между пустыми строками, как одну запись, и добавляет новую строку в список разделителей полей ввода с пробелами по умолчанию. Поскольку ваш ввод не содержит других пробелов, это означает, что каждая строка блока становится полем. Затем мы заставляем запись повторно -оцениваться, переназначая значение поля самой себе $1=$1и, наконец, печатаем запись с пустым разделителем выходных полей OFS=вместо одиночного пробела по умолчанию.

2
28.01.2020, 02:16

Сawk

awk '{ printf (NF)?$0:RS } END{ print ""}' infile

Это объединяет все строки в одну, если это не пустая строка (строка, содержащая/набор табуляции, пробела и новой строки ).

это решение не зависит от фиксированных 3 строк в каждой группе.

для конкретного случая, если у вас было несколько пустых строк и чтобы избежать их повторения в результате, вы можете сделать:

awk 'NF{ skip=0; printf $0; next} !skip{ printf RS; skip=1 } END{ print ""}' infile
1
28.01.2020, 02:16

Одним из способов использования POSIXly может быть:

sed -e '
    /./!d
    $ba
    N
    /\n$/!{H;s/.*//;x;D;}
    :a;s/\n//g
' input.txt

Вход:

% cat -ne input.txt
 1  $
 2  $
 3  john,$
 4  5901,$
 5  open$
 6  $
 7  $
 8  $
 9  lina,$
10  2401,$
11  open$
12  $
13  jody,$
14  5401,$
15  open$

Выход:

john,5901,open
lina,2401,open
jody,5401,open

Пояснение:

  • Всякий раз, когда sedвидит не -пустую строку (, подойдет любой символ, даже пробел ), он начинает добавлять его в пространство шаблонов и считывает следующую строку.
  • Теперь, если самая правая часть пространства шаблонов, что означает, что текущая строка, считанная в пространство шаблонов, является пустой или последней строкой, то мы переходим к метке :a, в которой мы быстро удаляем новые строки из пространства шаблонов и распечатать на стандартный вывод.
  • И в случае, если только что прочитанная строка не является абсолютно пустой, после добавления в пространство шаблонов, /\n$/, мы возвращаемся назад и добавляем следующую строку. Это мы делаем с помощью команды D, которая передает управление в начало кода sed. Но перед этим он очищает все до первой новой строки в пространстве шаблонов. с этим мы справимся, поместив артефакт \nна H;s/.*//;x.
1
28.01.2020, 02:16
$ paste -d '\0' - - - - <file
john,5901,open
lina,2401,open
jody,5401,open

Это переформатирует данные в четыре столбца, помещая каждую строку из входного файла в следующий столбец. Пустая строка между секциями — это четвертый столбец, и она будет помещена последней в каждой выходной строке, но поскольку она пуста, она ничего не будет содержать.

В данных уже есть запятые, поэтому мы используем пустой разделитель сpaste-d '\0').


Решение с использованием sed, не предполагающее разделения данных на группы по три строки:

$ sed -n 'H; /^$/{x;s/\n//g;p;d;}; ${x;s/\n//g;p;}' file
john,5901,open
lina,2401,open
jody,5401,open

Он делает это, добавляя строки в пространство хранения с помощью H, и когда он сталкивается с пустой строкой или концом файла, он удаляет встроенные символы новой строки в пространстве хранения, добавленном H, и печатает результат..

1
28.01.2020, 02:16

Теги

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