从C Shell中的List中提取单词

时间:2014-09-09 15:54:53

标签: shell unix

我正在开发一个非常老的UNIX版本。我有一个列表,如

x="abc xyz"

存储在变量x中。现在我想将各个字符串存储在单独的变量中。像

x1="abc" and x2="xyz".

如何将原始字符串拆分为单词?我正在使用sh,所以我不能在这里创建数组。

我试过这种方法

  col_list=`cat $outf`

    col=""
    tab=""

    for coltab in $col_list
    do
            j=0

    echo $coltab

        for ct in `echo $coltab`
            do

    echo $ct
                    case $j in
                    0)
                            col=$ct
                    ;;

                    1)
                            tab=$ct
                    ;;
                    esac

                    j=`echo "$j + 1" | bc`

         done

    echo "Column is $col"
    echo "Table is $tab"

  done

但这不起作用。请帮忙

由于

1 个答案:

答案 0 :(得分:2)

我不知道它如何在你的古代sh中起作用,但可以

x="abc xyz"
read x1 x2 <<EOF
$x
EOF
echo $x1
echo $x2

打印

abc
xyz
顺便说一下,你的脚本不是 C-shell语法。但是vanila sh

在csh中,数组是否有效

set x = "a b c"
set arr = ($x)
echo $arr[1]