- 论坛徽章:
- 0
|
这几天出差,没法上网,一直在闭门看shell的文章,对sed也正在强攻,但显然没有吃透,sed越看越迷糊了,而我的初衷想用sed解决的问题却也一直没有找到办法。
- 设有一个1.cfg,内容为
- A1 = 第一个变量
- B1 = 第二个变量
- -----
- [A1]
- 1a
- 1b
- [/A1]
- [B1]
- 2a
- 2b
- [/B1]
- ....
复制代码
想写一个脚本,分析这个1.cfg文件的前几行直到遇到-----为止,取出这几行的第一列,即A1,B1放在变量中,即var[1]=A1,var[2]=B1。接下来取出$var到[/$var]之间的值,即第一个为
1a
1b
第二个为var2到第二个[/var2]之间的值,即
2a
2b
我使用bash。
我不知道怎么用sed读入一个变量,我使用这条语句可以实现功能,但变量却无法代入。
- sed -n '/[A1]/,/[//A1]/{/[A1]/d;/[//A1]/d;p;}' 1.cfg
复制代码
另外一个问题就是循环数组赋值的问题,由于我使用HPUX的平台,不知道是不是HPUX的问题还是bash的问题,似乎对数组的处理比较弱,网上大侠给我的几个数组的处理办法都不太好使,所以在这个shell中的变量赋值这一部分处理起来只能死做,效率不高的样子。 |
|