Я ищу быстрый / простой способ разбить строку в ksh.
Он имеет различные числовые разделители (пробелы) между каждым элементом.
Пример:
value1 value2 value3
Любые предложения / советы?
Я ищу быстрый / простой способ разбить строку в ksh.
Он имеет различные числовые разделители (пробелы) между каждым элементом.
Пример:
value1 value2 value3
Любые предложения / советы?
Использование цикла for с входной строкой будет разбито на пробелы.
LIST="value1 value2 value3"
for x in $LIST ; do
echo $x
done
Урожайность
value1
value2
value3
или же
LIST="value1 value2 value3"
set -A STRING "$LIST"
for x in $STRING ; do
echo $x
done
Урожайность
value1
value2
value3
Вы можете использовать массив.
LIST="value1 value2 value3"
set -A values $LIST
echo ${values[0]}
value1
Пропускание через sed и опционально grep тоже работает
LIST="value1 value2 value3" ;
echo "$LIST" | sed 's/[[:space:]]/\n/g' | grep .
Вы можете отбросить grep, если вы также отбросите кавычки, которые удаляют несколько пробелов, хотя может быть выполнено другое форматирование.
LIST="value1 value2 value3" ;
echo $LIST | sed 's/[[:space:]]/\n/g'