Однострочник на perl:
$ perl -lne '
BEGIN{
printf "%-10s%-10s%-10s%-10s%-15s\n", qw([user] [module] [action] [doAjax] [ajaxAction]);
}
$usr = $mde = $act = $doAj = $ajAc = "null";
$usr=$1 if m|\s/([^/]+)/|;
$mde=$1 if /m=(.+?)(&|$)/;
$act=$1 if /a=(.+?)(&|$)/;
$doAj=$1 if /doajax=(.+?)(&|$)/;
$ajAc=$1 if /action=(.+?)(&|$)/;
printf "%-10s%-10s%-10s%-10s%-15s\n", ($usr,$mde,$act,$doAj,$ajAc)' file
[user] [module] [action] [doAjax] [ajaxAction]
userx contacts form null null
usery customer null request getContacts
userx meeting null date null
Основной трюк здесь заключается в поиске каждой из строк, идентифицирующих части вашего URL, и, если она найдена, установке соответствующей переменной. В каждом случае мы ищем идентификатор, за которым следует =
(например, m=
), а затем либо &
, либо конец строки (&|$)
. Поскольку совпадающая часть помещается в круглую скобку (например, m=(.+?)
), мы можем ссылаться на нее как на $2
, что и сохраняется в каждой переменной.
Если вам действительно нужно иметь |
в качестве разделителя, и вы не возражаете против того, что это сделает вывод менее читаемым, вы можете использовать следующее:
$ perl -lne '
BEGIN{
printf "%s|%s|%s|%s|%s\n", qw([user] [module] [action] [doAjax] [ajaxAction]);
}
$usr = $mde = $act = $doAj = $ajAc = "null";
$usr=$1 if m|\s/([^/]+)/|;
$mde=$1 if /m=(.+?)(&|$)/;
$act=$1 if /a=(.+?)(&|$)/;
$doAj=$1 if /doajax=(.+?)(&|$)/;
$ajAc=$1 if /action=(.+?)(&|$)/;
print join "|", ($usr,$mde,$act,$doAj,$ajAc)' file
[user]|[module]|[action]|[doAjax]|[ajaxAction]
userx|contacts|form|null|null
usery|customer|null|request|getContacts
userx|meeting|null|date|null
Лучшим (более читаемым выводом) подходом было бы использование printf
вместо:
Даже если вы уже используете X-сервер, это не мешает вам создать файл xorg.conf
. Итак, откройте редактор и начните с файла /etc/X11/xorg.conf
, который выглядит так:
Section "Screen"
Identifier "myscreen"
SubSection "Display"
Depth 24
Modes "1600x900"
EndSubSection
EndSection
На самом деле я не уверен, будет ли работать «голый» раздел экрана, вам также может понадобиться раздел Device
, но для этого нам нужно знать ваш драйвер (вы можете найти эту информацию в журнале файл, см. ниже ).
Прежде чем сделать это, убедитесь, что вы знаете, как войти в виртуальную консоль (только текст ), чтобы вы могли починить что-то, если оно не работает. Вам потребуются root-права (sudo
), чтобы создать файл /etc/X11/
, или переместить его туда, если вы создали его где-то еще.
После создания файла перезагрузите (или перезапустите X-сервер или диспетчер отображения, если вы знаете, как это сделать ). Посмотрите, работает ли это; если это не так, посмотрите на /var/log/Xorg.0.log
, чтобы узнать, что пошло не так.
Если вам нужен раздел устройств и вы не можете понять, как его создать с помощью онлайн-учебников, дополните свой вопрос информацией о драйвере, который использует X.