Я хотел бы, чтобы захватить цифры в строке следующим образом:Как использовать СЭД, чтобы захватить регулярное выражение
"sample_2341-43-11.txt" to 2341-43-11
И поэтому я попытался следующую команду:
echo "sample_2341-43-11.txt" | sed -n -r 's|[0-9]{4}\-[0-9]{2}\-[0-9]{2}|\1|p'
Я видел это ответ, в котором я получил эту идею. Use sed to grab a string, но он не работает на моей машине:
- он дает ошибку «нелегальный вариант
-r
». - ему тоже не нравится
\1
.
Я использую sed на MacOSX yosemite.
Это самый простой способ извлечь эту информацию из имени файла?
вам не нужно \ 1 для выражения вы ищете – Dalorzo
-r только для GNU СЭД (тот, который поставляется с Баш) не так ли? –