Апплет списка окон по умолчанию не имеет этой опции, однако существуют альтернативы. Обледенение диспетчера задач является самым популярным. Он заменяет этот апплет, а также может заменить ваши программы запуска, поскольку приложения можно закреплять.
Щелкните правой кнопкой мыши панель и выберите «Добавить апплеты на панель». Нажмите «Загрузить» в верхней части окна апплета, и вы сможете загрузить Icing Task Manager. После завершения загрузки вам нужно будет добавить его на свою панель через вкладку «Управление». Выберите его из списка и нажмите кнопку «+» внизу. Выберите апплет «Список окон» и нажмите «-». При желании, «Панели запуска» могут быть удалены таким же образом.
Этот апплет имеет множество параметров настройки на ваш вкус.
На основе Sed One -Объяснения вкладышей, часть I :Интервал между файлами, нумерация, преобразование текста и замена , 39. Добавлять строку к следующей, если она заканчивается символом обратная косая черта "\" , но с заменой обратной косой черты на запятую и расширением замены, включающим следующие пробелы:
$ sed -e :a -e '/,$/N; s/,\n[[:blank:]]*/,/; ta' file
method AAA one (1,111):
some_text_1
method BBB two (2,222):
tuesday
method CCC three (3,333):
sunny_day
method DDD four (4,444_a,444_b):
last_week
Мы устанавливаем петлю do-while
с несколькими условиями прорыва, как показано.
sed -e '
:loop
/method/!b
/method.*):/b
$q
N;s/\n\s*//
b loop
' file.txt
Выход:
method AAA one (1,111):
some_text_1
method BBB two (2,222):
tuesday
method CCC three (3,333):
sunny_day
method DDD four (4,444_a,444_b):
last_week
Сawk
:
awk 'f{sub(/^[[:space:]]+/, "")} {f=/,$/; ORS = f ? "" : RS} 1'
Это установит флаг f
всякий раз, когда строка заканчивается на ,
. В зависимости от флага разделителем выходных записей будет пустая строка или такой же, как разделитель входных записей (, который по умолчанию является новой строкой ). Всякий раз, когда флаг установлен, начальные пробельные символы следующей строки также будут удалены.
С помощью perl
, при условии, что ввод достаточно мал, чтобы его можно было обработать как одну строку:
perl -0777 -pe 's/,\n\s*/,/g'
Приведенные выше решения не сработают, если у вас есть строки, оканчивающиеся на ,
, которые не являются частью функции method
. В таких случаях, предполагая, что для части method
будет только одна пара символов ()
, вы можете использовать:
perl -0777 -pe 's/method[^(]+\([^)]+\)/$&=~s|\n\s*||gr/ge'
Здесь method[^(]+\([^)]+\)
будет соответствовать от method
до первых (
и )
символов. Раздел замены содержит другой код Perl, который будет воздействовать на совпадающую часть, чтобы удалить новые строки, за которыми следуют необязательные символы пробела.
Другой sed
'er (POSIX):
sed ':a;/^method/!b;/[^:]$/N;s/[[:space:]]*\n[[:space:]]*/ /g;ta'
:a
method
b
:
N
. spaces
*+ \n
+spaces
*на ' '
:a
Должен обрабатывать такие случаи, как:
method XXX foo (8,
888):
bar,
baz
method
HHH
bar
(
aa,
bb):
lor
Добавляет дополнительные пробелы вокруг параметров.
Использованиеgawk
:
awk 'function del_space(){gsub(/^\s+/,""); };
/,$/ {if (NR==l) del_space(); a=a $0; l=NR+1; next}
NR==l{del_space(); $0=a $0; a=""}1' file
Пока в конце строки находится запятая, переменная a
сохраняет текущую входную запись ($0
), за которой следует пробел, а затем предыдущая запись. next
предотвращает дальнейшие действия с этой записью, т. е. не будет печати, если в конце команды используется идиома awk
's 1
для печати.
В следующей записи после сопоставления шаблона $0=a $0;a="";
устанавливает текущую входную запись($0
)на a
, за которой следует старая $0
и переменная a
на ""
соответственно.
Функция del_space()
заменяет пробел с начала следующей записи после того, как ,
находится в конце записи.
Если вы хотите поставить пробел после запятой, то это следует изменить на это:
awk 'function del_space(){gsub(/^\s+/,""); };
/,$/ {if (NR==l) del_space(); a=a $0; l=NR+1; next}
NR==l{del_space(); $0=a FS $0; a=""}1' file
Другой Posix sed
способ:
sed '
/,$/bl
be
:l
N
s/\n *//g
/):$/!bl
:e
' data
При нахождении строки, заканчивающейся запятой, переход к метке l
:/,$/bl
e
(Пустая этикетка, здесь только для печати):be
метка l
эмулирует цикл следующим образом:
Получить следующую строку:N
Замените новую строку и начальные пробелы на эту:s/\n *//g
Если текущие строки НЕТ заканчиваются на ):
, то повторите цикл и снова возьмите другую строку (и повторите все):/):$/!bl
В противном случае введите метку e
и напечатайте строку.