У меня есть команда bash с другой программой (AFNI). Команда выводит два числа, например:Установка переменной Bash на последнее число на выходе
70.0 13.670712
мне нужно сделать переменный Баш, которая будет независимо от последнего # есть (в этом случае 13.670712). Я выяснил, как заставить его печатать только последний номер, но у меня проблемы с настройкой его на переменную. Каков наилучший способ сделать это?
Вот код, который печатает только 13.670712: test="$(3dBrickStat -mask ../../template/ROIs.nii -mrange 41 41 -percentile 70 1 70 'stats.s1_ANTS+tlrc[25]')"; echo "${test}" | awk '{print $2}'
Параметр 'read' решения довольно хорошо и идиоматическое. Я бы не рекомендовал 'set' один; Я предполагаю, что первый из них был бы лучшим вариантом при поиске переносимости (но OP указывает Bash, поэтому мы можем безопасно идти с решением 'read', что было бы наиболее эффективным). –
@gniourf_gniourf: Цените это! Требуется предоставить как возможные способы обойтись без внешних утилит. Но я полагаю, что для тривиального варианта использования это не имеет значения. Причина не в том, чтобы рекомендовать 'set' имеет какое-либо отношение к разделению поля? – Inian
Точно. Я думаю о некотируемых расширениях как о явном требовании расширения пути (конечно, вместе с разбиением слов); здесь использование только для разбиения слов ... это не выглядит семантически правильным для меня (но я очень шикарный). –