【发布时间】:2015-12-15 00:52:40
【问题描述】:
我想像这样抓取字符串中的数字:
"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。
我在 MacOSX 优胜美地上使用 sed。
这是从文件名中提取信息的最简单方法吗?
【问题讨论】:
-
你不需要 \1 来表示你正在寻找的表达式
-
-r 仅适用于 GNU sed(bash 附带的那个)不是吗?
标签: regex bash sed osx-yosemite