-1

Сначала я должен сказать, что мой английский не очень хорошо. Я должен выполнить свою задачу с учебы, и у меня есть проблема. Я должен сделать файл с версией в соответствующем каталоге. Информация в текстовом файле, например:

com.amazonaws.services.cloudwatch;version=1.1.5

Это направление к каталогу, в котором я должен создать файл:

1.1.5

Теперь я пишу:

egrep 'version=' bamboo.log | egrep --color -o '[^[:space:],\"](.+\.)+.+;version=[\"]*([[:digit:]]+\.)+[[:digit:]][\"]*' > tmp
cut -d ';' -f 1 tmp| tr '.' '/'| sed 's/$/\/version/'

Я бы сделал что-то подобное:

cut -d ';' -f 1 tmp| tr '.' '/'| sed 's/$/\/version/'| echo $(cut -d '=' -f 2 < tmp) ) > -

Конечно, это не работает.

Но я не знаю, как я могу вставить pipe (что исходит из pipe) в качестве имени файла и простой версии в 'echo'.

Не могли бы вы помочь мне с этой проблемой?

1 ответ1

0

У вас уже есть все необходимые инструменты, за исключением того, что sed сделает все, что делает egrep , без отдельного вызова, так что вы усложняете задачу.

Я не знаю, что еще находится в файле, но следующее выделит строку версии в приведенном вами примере:

sed<bamboo.log -n 's/^.*;version=//pg'

Если вы хотите использовать возвращенную строку в качестве имени файла, просто используйте конструкцию $() , как в:

FileName=$(sed<bamboo.log -n 's/^.*;version=//pg')

Я нашел хороший справочник / учебник для sed здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .