токен от: строка с разделителями - PullRequest
2 голосов
/ 02 декабря 2010

Я пытался найти ответ, но потерял в вопросах.В основном у меня есть скрипт оболочки следующим образом:

#!/bin/ksh

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

processInfo $1

На этом этапе processInfo возвращает строку формата: param1: param2: param3: param4: param5

Я хочу записать param4 вПеременная.Например: param4 = processInfo $1 | sed regex

Кажется, что это просто с Sed и Regex, но я только что потерял след.Просьба помочь

Ответы [ 4 ]

2 голосов
/ 02 декабря 2010
param4=$( processInfo "$1" | cut -d':' -f 4 )
2 голосов
/ 02 декабря 2010
param4=$(processInfo $1 | awk -F: '{print $4}')
0 голосов
/ 02 декабря 2010

Если вам не нужно сохранять позиционные параметры вашего скрипта:

IFS=:
set -- $( processInfo "$1" )
param4="$4"
0 голосов
/ 02 декабря 2010
saveIFS=$IFS
IFS=:
array=($(processInfo $1))
IFS=$saveIFS
echo ${array[3]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...