【发布时间】:2013-10-17 08:38:42
【问题描述】:
我有一个配置文件....
# LogicalUnit section
[LogicalUnit1]
LUN0 /mnt/extent0 64MB
[LogicalUnit2]
LUN0 /mnt/extent1 64MB
[LogicalUnit3]
LUN0 /mnt/extent4 10MB
我需要将所有以 LUN 开头的行中的字段 2 和 3 读取到变量中,并使用这些变量执行 shell 命令
所以... LUN0,我将字段 2 和字段 3 读取到变量中
/mnt/extent4 10MB
这么说
A=/mnt/extent4
B=10MB
var1=A
var2=B
exec command -s $B $A
我明白了逻辑,但无法弄清楚如何循环文件、读取 2 个字段并将它们传递回 bash。非常感谢,我花了两天时间使用 bash grep 和 awk ......我仍然不在那里。提前致谢
【问题讨论】:
-
这个问题似乎跑题了,因为它是关于 bash 的,更适合 Unix & Linux 或 Super User。
-
@ColeJohnson 解析和执行一个文件,非常适合Stack Overflow。
-
@fedorqui 关键字更适合。
-
eval `sed -n -e"s/^ *LUN[0-9] \([^ ]*\) \([^ ]*\).*$/exec command -s \1 \2/p" test.txt`或eval `grep "^ *LUN" test.txt | awk '{print "exec command -s "$2" "$3}'`怎么样 -
每次我在谷歌上搜索有关 bash、awk、sed 和 grep 的示例信息时,99% 的命中都是堆栈溢出 url....所以我认为这是合适的。我很好奇什么是合适的。