Извлечение слова из строки с помощью grep / sed / awk

Попробуйте следующее:

#!/bin/bash
phpdoc -o HTML:frames:earthli -d public_html/"$1"/application/ \
    -t public_html/"$1"/docs/

Назовите его как sudo ./script.sh yoursite.

1
задан 12 November 2015 в 15:53

2 ответа

Использование awk

awk -F"-Dspring.profiles.active=" '{sub(/ .*/,"",$2);print $2}' <<<'your_string'

или

awk -F"-Dspring.profiles.active=" '{sub(/ .*/,"",$2);print $2}' your_file

Пример

% awk -F"-Dspring.profiles.active=" '{sub(/ .*/,"",$2);print $2}' <<<'00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256'
qa
1
ответ дан 23 May 2018 в 15:51

Я выложу Perl в миксе:

<<<'string' perl -lane '$F[3]=~s/.*?=//;print($F[3])'
-l: включает автоматическую обработку окончания строки. Он имеет два отдельных эффекта. Во-первых, он автоматически сжимает $ / (разделитель входных данных) при использовании с -n или -p. Во-вторых, он присваивает $ \ (разделителю выходной записи) значение octnum, так что в любых операторах печати будет добавлен этот разделитель. Если octnum опущен, то устанавливает $ \ текущее значение $ /. -a: включает режим авторасщепления при использовании с -n или -p. Неявная команда split для массива @F выполняется как первая вещь внутри неявного цикла while, созданного -n или -p. n: приводит к тому, что Perl принимает следующий цикл вокруг вашей программы, что заставляет его перебирать аргументы с именами файлов, как sed -n или awk:
LINE:
  while (<>) {
      ...             # your program goes here
  }
-e: может использоваться для ввода одной строки программы.
% <<<'00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256' perl -lane '$F[3]=~s/.*?=//;print($F[3])'
qa
1
ответ дан 23 May 2018 в 15:51
  • 1
    Оригинальное регулярное выражение может быть использовано также следующим образом: perl -nle '/spring.profiles.active=\K([^ ]+)/ && print $1' <<<'00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256' – Manwe 12 November 2015 в 19:40

Другие вопросы по тегам:

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