我有这样的表达:
XX 小时,YY 分钟,ZZ 秒,
XX、YY 或 ZZ 可以是 1 位或 2 位数字。此外,“XX h”或“XX h,YY min”可能不存在。谁能推荐任何 perl 或 sed 表达式来提取 XX YY 和 ZZ??
我尝试了一些匹配组正则表达式,但没有成功。
谢谢
编辑:
示例 1:12 小时 23 分钟 2 秒,
输出 1: 12 23 2
示例 2:3 分钟 59 秒,
输出2:3 59
最佳答案
echo "12 h, 3 min, 56 s," | tr -cd "0-9 "
输出:
12 3 56
echo "12 h, 3 min, 56 s," | tr "," "\n" | awk '/h/ {print $1}'
12
echo "12 h, 3 min, 56 s," | tr "," "\n" | awk '/min/ {print $1}'
3
echo "12 h, 3 min, 56 s," | tr "," "\n" | awk '/s/ {print $1}'
56
关于regex - 将正则表达式与 perl/sed/awk 中的变量字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26433367/