【发布时间】:2014-10-27 12:27:08
【问题描述】:
我正在尝试使用以下代码解析日志文件:
if [[ $line -match "=====.*" ]]; then
awk $2 = $vFiler;
echo "$vFiler";
解释:
有些行以 ===== 或 'vol/...' 之类的模式开头,后跟名称
我想找到所有以===== 或'vol/...' 开头的行,并将后面的字符串设置为一个变量,但我真的很难做到,我想到了一个带有 awk 的 if 命令(我知道 - match 不是真正的命令)。
输入看起来像这样:
===== vfiler0
/vol/vol0
===== vFiler1
/vol/vol1
输出应该是:
vFiler, Type
vFiler0, /vol/vol0
vFiler1, /vol/vol1
你们能帮帮我吗?我正在尝试在 bash 脚本中执行此操作 是否有可能像我上面尝试的那样获得“如果...”?
【问题讨论】:
-
提供一些输入和预期输出的例子。
-
你知道 awk 是如何工作的吗?这应该用什么语言写?
-
===== vfiler0 /vol/vol0 ===== vFiler1
-
编辑您的问题以更好地描述您正在尝试做的事情并在其中包含输入/输出。
-
您在问题的底部建议您的真正要求可能更复杂。也许您应该编辑您的问题以解释它们是什么,因为最佳建议可能会因具体细节而异。