Создайте файл /etc/vnc/xstartup
со следующим содержанием:
#!/bin/bash
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
И дайте ему полномочия чтения и выполнения всем пользователям:
chmod 0755 /etc/vnc/xstartup
Затем этот сценарий будет выполняться vnc сервером любого пользователя
Можно переместить группирующиеся круглые скобки в представленных круглых скобках. Это сделало бы:
ls | sed -nre 's/.*-\(([A-Z]{3,4}[0-9]{3,4})\)-.*/\1 \t \0/p'|sort
Я также использую -r
для regexp легче записать скобки и круглые скобки.
При использовании этой опции группирующиеся круглые скобки (
,)
, и фактические круглые скобки \(
,\)
ls | LC_ALL=C sed -n 's/.*-(\([A-Z]\{3,4\}[0-9]\{3,4\}\))-.*/\1 &/p'
Но если это только для сортировки, возможно, Вы можете только к:
ls | sort -t'(' -k2
Первый подход предварительно ожидает строку сортировки к каждому имени файла:
$ ls -1 | awk -F\( '{print $2 " "$1"("$2}' | sed 's/)-clean//' | sort -n FOL001 iemeezei-(FOL001)-clean FOL002 aghaitug-(FOL002)-clean FOL003 ieghaeve-(FOL003)-clean
Второй, который я люблю лучше, потому что имя файла остается таким же. Это добавляет пространство к строке "FOL", которая может затем используемый sort
как разделитель, второе sed
удаляет пространство снова. Если имена файлов содержат расположенный с интервалами, Вы могли бы хотеть решить для другого разделителя (который затем имеет к данному к sort
с -t
):
$ ls -1 | sed 's/(FOL/& /' | sort -nk2 | sed 's/FOL /FOL/' iemeezei-(FOL001)-clean aghaitug-(FOL002)-clean ieghaeve-(FOL003)-clean
-r
только для GNUsed
. Некоторые BSDs имеют a-E
опция. Generally/POSIXly,sed
только поддерживает основные регулярные выражения. – Stéphane Chazelas 25.01.2014, 11:35-\((*)\)-
? – KG87 25.01.2014, 18:01-\((.*)\)-
? Так или иначе, sed команда распечатает целую строку, вот почему она должна заменить целую строку тем, что необходимо распечатать. Поэтому.*
вначале и конец необходим. – ptantiku 26.01.2014, 10:29