sed: удалить из регулярного выражения

#sed

Вопрос:

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

Например:

 'foo 100 300' -> 'foo'
'fOo Bar 222x asdf 888' -> 'fOo Bar'
 

Я пытался:

 sed -i 's/([a-zA-Z ]*)( [0-9] )/$1/g' input.file
 

Ответ №1:

В вашем примере вы можете использовать эту команду:

 sed -i 's/[ t]*[0-9].*$//g' <file>
 

Комментарии:

1. g В конце концов, это не нужно.