2014-09-09 4 views
0

정말 오래된 버전의 UNIX에서 작업하고 있습니다. 나는 변수 x에 저장된C 쉘 목록에서 단어 추출

x="abc xyz" 

과 같은 목록을 가지고 있습니다. 이제 별도의 변수에 개별 문자열을 저장하려고합니다. Like

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 

을 시도하지만이 작동하지 않습니다. 도와주세요

감사

답변

2

I하지 그것이 당신의 고대 sh에서 작동하지만 방법 어떤 생각 :

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

인쇄 BTW

abc 
xyz 

, 스크립트 아니요 C 쉘 구문입니다. 그러나 vanila sh. CSH에서

,해야 배열은 당신의 응답을

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

덕분에 작동합니다. 나는 이것이 내가 EOF $가 EOF 에코 "열은 $ COL은" coltab << 읽기 COL 탭을 $의 col_list 에 coltab이 – AbtPst

+0

작동하지 않습니다 두려워 에코 "표는 $ 탭입니다" done – AbtPst

+0

처럼 그것을 시도 – AbtPst