С каталогом у меня есть несколько файлов, которые имеют несколько номеров версий в файлах.Я подбираю каждый файл в каталоге для этих номеров версий, сортирую их, чтобы получить самый последний номер версии, и затем помещаю его в «хвост -1» только для самого последнего номера версии, а не для каждого результата grep.
Данные выглядят примерно так:
файл1: мусор asdf 1.2.4.1 мусор текст asdf
файл2: мусор fsdaf asdfsda 4.3.2.10 fdsaf
и т. Д.,Я уже завершил извлечение самого последнего номера версии.Я сделал это со следующим:
grep -o '[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}' * | sort | tail -1
Следующая часть - это то, с чем у меня проблемы.Я пытаюсь извлечь число (будь то один числовой символ или два числовых символа) до первого периода и вернуть этот результат.Затем, я предполагаю, что с немного другой командой сделать то же самое, но для числа после первого периода.И снова для числа после второго периода и, наконец, после третьего периода.
У меня практически нет опыта работы с sed или awk, но после небольшого исследования я считаю, что один из этих инструментов - способ достиженияэто.
Спасибо!
Редактировать: Хорошо, я понял, но я уверен, что это можно сделать гораздо проще.У меня есть следующее:
grep -o '[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}' * | sort | tail -1 | grep -o '[0-9]\{1,\}' | sed -n 2p
или sed -n 1p, 3p, 4p в зависимости от того, какое значение я хочу.