创建文件-管道输出

创建文件-管道输出

首先我必须说我的英语不是很好。我必须完成学习任务,但我遇到了问题。我必须在正确的目录中创建带有版本的文件。信息在文本文件中,例如:

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) ) > -

当然不行。

但我不知道如何将管道(来自管道的内容)粘贴为文件的名称,并将简单版本粘贴为“echo”。

你能帮我解决这个问题吗?

答案1

您已经拥有了所需的所有工具,只是它无需单独调用sed就能完成所有egrep操作,因此您让问题变得更加复杂。

我不知道文件中还有什么,但以下内容将隔离您给出的示例中的版本字符串:

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

如果您想使用返回的字符串作为文件名,只需使用构造$(),如下所示:

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

我找到了一个很好的参考/教程sed 这里

相关内容