|
发表于 2009-3-12 13:35:45
|
显示全部楼层
這是 regular expression
\( \) 中的是 subexpression 會被摘取, 然后可以調用
試試這個
- echo 'abc123DEF!@#' |
- sed 's/\([a-z]*\)\([0-9]*\)\([A-Z]*\)\([:punct:]*\)/\4 \3 \2 \1/'
复制代码
\1 是abc \2是123 \3是DEF \4是!@#
那么原題就好理解了
.* \([0-9]*\) cylinders$ 找到的是這一行
255 heads, 63 sectors/track, 10011 cylinders
其中跟 \([0-9]*\) 符合的 10011 被摘取, 然后可以用 \1 調用
那么
sed 's@.* \([0-9]*\) cylinders$@\1@' == sed 's/.* \([0-9]*\) cylinders$/10011/' |
|