2010-12-02 3 views
2

나는 답을 찾고자했지만 질문을 잃어 버렸다. PARAM1 : PARAM2 : 3 당겨 : param4 : param5sed token from : 구분 된 문자열

내가 변수에 param4을 캡처 할이 시점에서

#!/bin/ksh 

if [ $# -eq 1 ]; then 
    exit -1 
fi 

processInfo $1 

이 processInfo이 형식의 문자열을 반환 다음과 같이 기본적으로 나는 쉘 스크립트가 있습니다. 예 : param4 = processInfo $1 | sed regex

sed와 regex는 간단하지만 나는 그저 트랙을 잃어 버렸습니다. 당신이 당신의 스크립트의 위치 매개 변수를 보관할 필요가없는 경우 Pls는

답변

2
param4=$(processInfo $1 | awk -F: '{print $4}') 
+0

달콤한. 빠른 답장을 보내 주셔서 감사 드리며 효과가있었습니다. – Kiran

+0

SOF는 9 분 동안 대답을 수락하지 않습니다. – Kiran

+0

문제 없습니다. 다행이라고 생각합니다. 에 오신 것을 환영합니다 SO – SiegeX

2
param4=$(processInfo "$1" | cut -d':' -f 4) 
+0

awk보다 훨씬 가벼운 무게를 실현! 감사 – Kiran

0
saveIFS=$IFS 
IFS=: 
array=($(processInfo $1)) 
IFS=$saveIFS 
echo ${array[3]} 
0

도움 :

IFS=: 
set -- $(processInfo "$1") 
param4="$4"