2010-12-02 3 views
2

私は答えを探してみましたが、質問がありませんでした。次のように基本的に私は、シェルスクリプトを持っている:sed token from:区切られた文字列

#!/bin/ksh 

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

processInfo $1 

この時点で、processInfoは、フォーマットの文字列を返します: のparam1:PARAM2:param3:param4:

param5私は変数にparam4をキャプチャしたいです。 例: param4 = processInfo $1 | sed regex

sedと正規表現では単純だと思われますが、私はそれを見失ってしまいました。あなたのスクリプトの位置パラメータを維持する必要がない場合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"