2013-07-23 3 views
1

Я пытаюсь манипулировать следующие строки:строка манипуляции с AWK/СЭД и вырезать вместе

/var/www/vhosts/www.xxx.nl/HTML/wp-includes/version.php:$wp_version = '3.5';  
/var/www/vhosts/www.yyy.nl/HTML/wp-includes/version.php:$wp_version = '2.9'; 
/var/www/vhosts/www.zzz.nl/HTML/wp-includes/version.php:$wp_version = '3.2.1'; 

производить вывод:

www.xxx.nl 3.5 
www.yyy.nl 2.9 
www.zzz.nl 3.2.1 

С разрезом я могу показать столбец 1:

cut -d '/' -f5 

и с AWK и СЭД я могу показать столбец 2:

awk '{print $3}' | sed -e 's/^.//' -e 's/..$//' 

но как объединить эти команды так, чтобы он показывал предполагаемый выход?

ответ

4

Это может сделать это:

$ awk -F"[/']" '{print $5, $9}' file 
www.xxx.nl 3.5 
www.yyy.nl 2.9 
www.zzz.nl 3.2.1 

Что мы делаем с -F"[/']", чтобы определить два возможных поля разделителей: / или '. Тогда это вопрос проверки положения желаемых полей, который, как оказалось, является 5-м и 9-м.

+0

все! Спасибо за объяснение, определяющее несколько полевых разделителей. – cybernijntje

Смежные вопросы