Shell脚本while循环用于将文件转换为变量

时间:2014-07-22 19:48:55

标签: bash shell variables unix

所以我有一个excel表单的片段,我正在尝试使用bash脚本将它们转换为我们想要的格式。
该文件如下所示:
第1组成员1        ********** 会员2 ********** 会员123 Group2 Member183
**********会员1023

等等....... 该文件的含义是,它本质上是一种形式。它告诉你第1组的成员是"会员1" " Member2"" Member123&#34 ;. " ** "意味着它是一个空白字段。我试图使用while循环将所有组名(column1)读入变量$ Groupname,将所有成员(column2)读入变量$ Groupmember,然后使用awk打印如下内容:
第1组成员1 第1组成员2 第1组成员123 那我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

好的,假设我正确理解你的问题,你可以这样做:

<强> input.txt中

  

第1组成员
  *********会员2
*********会员123组2   会员183
*********会员1023

然后在bash脚本中,您可以跟踪最近使用的组:

#!/bin/bash

CURRENTGROUP=""

while read -r group member
do
        if [[ ${group:0:1} != "*" ]]; then
                CURRENTGROUP=$group
        fi

        echo "$CURRENTGROUP $member"

done < "input.txt"

产生以下输出:

  

第1组成员
  第1组成员2   Group1 Member123
  Group2 Member183
  Group2 Member1023