我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

SED

文章来源:[SouVR.com]网络收集整理 作者:Frank/Tracy 发布时间:2010年06月02日 点击数: 字号:
' # 方法2,更简便一点的方法   # 显示部分文本——从包含正则表达式的行开始到最后一行结束   sed -n '/regexp/,$p'   # 显示部分文本——指定行号范围(从第8至第12行,含8和12行)   sed -n '8,12p' # 方法1   sed '8,12!d' # 方法2   # 显示第52行   sed -n '52p' # 方法1   sed '52!d' # 方法2   sed '52q;d' # 方法3, 处理大文件时更有效率   # 从第3行开始,每7行显示一次   gsed -n '3~7p' # 只对GNU sed有效   sed -n '3,${p;n;n;n;n;n;n;}' # 其他sed   # 显示两个正则表达式之间的文本(包含)   sed -n '/Iowa/,/Montana/p' # 区分大小写方式   选择性地删除特定行:   --------   # 显示通篇文档,除了两个正则表达式之间的内容   sed '/Iowa/,/Montana/d'   # 删除文件中相邻的重复行(模拟“uniq”)   # 只保留重复行中的第一行,其他行删除   sed '$!N; /^\(.*\)\n\1$/!P; D'   # 删除文件中的重复行,不管有无相邻。注意hold space所能支持的缓存   # 大小,或者使用GNU sed。   sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'   # 删除除重复行外的所有行(模拟“uniq -d”)   sed '$!N; s/^\(.*\)\n\1$/\1/; t; D'   # 删除文件中开头的10行   sed '1,10d'   # 删除文件中的最后一行   sed '$d'   # 删除文件中的最后两行   sed 'N;$!P;$!D;$d'   # 删除文件中的最后10行   sed -e :a -e '$d;N;2,10ba' -e 'P;D' # 方法1   sed -n -e :a -e '1,10!{P;N;D;};N;ba' # 方法2   # 删除8的倍数行   gsed '0~8d' # 只对GNU sed有效   sed 'n;n;n;n;n;n;n;d;' # 其他sed   # 删除匹配式样的行   sed '/pattern/d' # 删除含pattern的行。当然pattern   # 可以换成任何有效的正则表达式   # 删除文件中的所有空行(与“grep '.' ”效果相同)   sed '/^$/d' # 方法1   sed '/./!d' # 方法2   # 只保留多个相邻空行的第一行。并且删除文件顶部和尾部的空行。   # (模拟“cat -s”)   sed '/./,/^$/!d' #方法1,删除文件顶部的空行,允许尾部保留一空行   sed '/^$/N;/\n$/D' #方法2,允许顶部保留一空行,尾部不留空行   # 只保留多个相邻空行的前两行。   sed '/^$/N;/\n$/N;//D'   # 删除文件顶部的所有空行   sed '/./,$!d'   # 删除文件尾部的所有空行   sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' # 对所有sed有效   sed -e :a -e '/^\n*$/N;/\n$/ba' # 同上,但只对 gsed 3.02.*有效   # 删除每个段落的最后一行   sed -n '/^$/{p;h;};/./{x;/./p;}'   特殊应用:   --------   # 移除手册页(man page)中的nroff标记。在Unix System V或bash shell下使   # 用'echo'命令时可能需要加上 -e 选项。   sed "s/.`echo \\\b`//g" # 外层的双括号是必须的(Unix环境)   sed 's/.^H//g' # 在bash或tcsh中, 按 Ctrl-V 再按 Ctrl-H   sed 's/.\x08//g' # sed 1.5,GNU sed,ssed所使用的十六进制的表示方法   # 提取新闻组或 e-mail 的邮件头   sed '/^$/q' # 删除第一行空行后的所有内容   # 提取新闻组或 e-mail 的正文部分   sed '1,/^$/d' # 删除第一行空行之前的所有内容   # 从邮件头提取“Subject”(标题栏字段),并移除开头的“Subject:”字样   sed '/^Subject: */!d; s///;q'   # 从邮件头获得回复地址   sed '/^Reply-To:/q; /^From:/h; /./d;g;q'   # 获取邮件地址。在上一个脚本所产生的那一行邮件头的基础上进一步的将非电邮   # 地址的部分剃除。(见上一脚本)   sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'   # 在每一行开头加上一个尖括号和空格(引用信息)   sed 's/^/> /'   # 将每一行开头处的尖括号和空格删除(解除引用)   sed 's/^> //'   # 移除大部分的HTML标签(包括跨行标签)   sed -e :a -e 's/<[^>]*>//g;/</N;//ba'   # 将分成多卷的uuencode文件解码。移除文件头信息,只保留uuencode编码部分。   # 文件必须以特定顺序传给sed。下面第一种版本的脚本可以直接在命令行下输入;   # 第二种版本则可以放入一个带执行权限的shell脚本中。(由Rahul Dhesi的一   # 个脚本修改而来。)   sed '/^end/,/^begin/d' file1 file2 ... fileX | uudecode # vers. 1   sed '/^end/,/^begin/d' "$@" | uudecode # vers. 2   # 将文件中的段落以字母顺序排序。段落间以(一行或多行)空行分隔。GNU sed使用   # 字元“\v”来表示垂直制表符,这里用它来作为换行符的占位符——当然你也可以   # 用其他未在文件中使用的字符来代替它。   sed '/./{H;d;};x;s/\n/==/g' file | sort | sed '1s/==//;s/==/\n/g'   gsed '/./{H;d};x;y/\n/\v/' file | sort | sed '1s/\v//;y/\v/\n/'   # 分别压缩每个.TXT文件,压缩后删除原来的文件并将压缩后的.ZIP文件   # 命名为与原来相同的名字(只是扩展名不同)。(DOS环境:“dir /b”   # 显示不带路径的文件名)。   echo @echo off >zipup.bat   dir /b *.txt | sed "s/^\(.*\)\.TXT/pkzip -mo \1 \1.TXT/" >>zipup.bat   使用SED:Sed接受一个或多个编辑命令,并且每读入一行后就依次应用这些命令。   当读入第一行输入后,sed对其应用所有的命令,然后将结果输出。接着再读入第二   行输入,对其应用所有的命令……并重复这个过程。上一个例子中sed由标准输入设   备(即命令解释器,通常是以管道输入的形式)获得输入。在命令行给出一个或多   个文件名作为参数时,这些文件取代标准输入设备成为sed的输入。sed的输出将被   送到标准输出(显示器)。因此:
共5页 您在第4页 首页 上一页 1 2 3 4 5 下一页 尾页 跳转到页 本页共有3444个字符
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料