Я не совсем уверен, чего вы здесь добиваетесь, но если вы хотите, чтобы окончания всех разделенных пробелами строк начинались с -Xms
, используйте голый awk:
$ awk -v RS=" " '/^-Xms/{print substr($0,5)}' file
3g
8192m
Разъяснения:
$ awk -v RS=" " ' # space separated records
/^-Xms/ { # strings starting with -Xms
print substr($0,5) # print starting from 5th position
}' file
Если вы хотите что-то еще (слово повторяется в названии немного озадачивает меня), пожалуйста, обновите вопрос с более подробными требованиями.
Редактировать : Я только что заметил как мне печатать только 8192 м в этом случае (это может быть повтор возможно). Давайте добавим счетчик c
и не будем печатать первый экземпляр:
$ awk -v RS=" " '/^-Xms/&&++c>1{print substr($0,5)}' file
8192m