1、按行取值
sed -n '1,100p' 2012-08.csv > 1.csv 取前100行
sed -n '101,$'p 2012-08.csv > 2.csv 取101行到最后一行
2、按奇偶行
sed "n;d" file or sed '1~2!d' file #删除偶数行
sed '1~2d' file #删除奇数行
3、合并为一行
sed -n 'H;${g;s/\n//g;p;}' filename
4、删除相邻的行 http://bbs.chinaunix.net/thread-3775201-1-1.html
ed -s urfile <<\EOF
/5/
-2,+3d
w
q
EOF 删除name的前两行和后三行。
或:sed '/5/,+3d;:go;1,2!{P;N;D};N;bgo' file
/5/,+3d 对匹配到5的那一行以及该行的后三行都执行d操作(d 清空模式空间)
:go 设一个标签go
1,2!{P;N;D} 除了第一行和第二行,其他行都执行P;N;D操作(P 打印当前模式空间的第一行;N 将下一行添加到当前模式空间中;D 删除模式空间的第一行并开始一个新的循环)
N 这个命令只对第一行和第二行有效了,因为其他行在上一个命令中都执行了D,直接开始新的循环了,所以这个命令不会被执行。
bgo 返回go标签
5、中括号用法
#curl -s http://www.csvt.net/resource/videos | sed -n '/flashvars/p' | awk '{print $1}'|head -n 2
flashvars="file=/python/csvtbymilo/01-csvt-python.flv&displayheight=200&resizing=true&title=中谷教育在线教学-python-01-走进python"
#curl -s http://www.csvt.net/resource/videos | sed -n '/flashvars/p' | awk '{print $1}'|sed 's:\(.*\)/\([^&]*\)\&.*:\1\2:'|head -n 2
01-csvt-python.flv
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。