I tried-Почему не [0-9] + соответствует «123» в «123 abc» с sed?
echo "abc 456" | sed 's/[0-9]+/& &/'
и ожидает "а 456 456", но он просто печатает "а 456".
Не стоит ли [0-9] + цифры «1 или больше»?
Кроме того, если я
пытаясь угадатьecho "abc 456" | sed 's/[0-9]*/& &/'
он печатает "а 456". Обратите внимание на пробел перед abc. Означает ли это, что 1-й символ - это цифра?
'' s/[0-9] */& &/''легко:' * 'соответствует 0 или больше, поэтому он просто соответствует 0 цифрам. Это не требует утверждения, что любой символ («первый» или другой) является цифрой вообще. –
в первом примере вам нужно добавить sed -r OR \ before + – josifoski