【发布时间】:2012-07-07 20:45:11
【问题描述】:
我有一个格式如下的字符串
Walk Off the Earth - Somebody That I Used to Know
[playing] #36/37 1:04/4:05 (26%)
volume: n/a repeat: off random: on single: off consume: off
现在,我需要从上面的字符串中提取 36 和 #36/37。
我做的第一件事是使用
从第二行提取#36/37
echo "above mentioned string" | awk 'NR==2 {print $2}'
现在,我想从上面提取的部分中提取36,我这样做了
echo `#36/37` | sed -e 's/\//#/g' | awk -F "#" '{print $2}'
这给了我36 作为我的输出。
但是,我觉得同时使用sed and awk 只是为了从#36/37 中提取文本不过是矫枉过正。那么,有没有更好或更短的方法来实现这一点。
【问题讨论】:
-
你的输入真的是一个字符串,还是一个流?
-
@kojiro:基本上它是一个流。你可以看到它是
mpc status命令的输出,但我想知道它有什么不同。