Shell
文章平均质量分 72
icepp009
这个作者很懒,什么都没留下…
展开
-
sed基础一
Sed是一种面向字符流的编辑器。处理文件时,sed把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾,一次只处理文件中一行的拷贝。文件内容并没有改变,除非你使用重定向存储输出。 Sed同时维护着模式空间(pattern space)和保持空间(hold ...原创 2009-02-28 13:31:17 · 159 阅读 · 0 评论 -
Sed基础二
Sed的高级命令,按照《o’reilly sed and awk》分法,分成如下三组:(本文很多例子也出自这本书) 一 处理多行模式空间(N D P)二 采用保持空间来保存模式空间的内容并使它可用于后续的命令(H h G g x)三 使用分支和条件指令更改脚本的控制流(: b t) Sed脚本中, 正常的控制流是:一行被读入模式空间并且用脚本的每个命令逐个地应用于那一行,当到达脚本...原创 2009-02-28 19:15:49 · 127 阅读 · 0 评论 -
各种工具之正则表达式语法比较
在各种常用的工具中,正则表达式如此的相似却又不同。下表列出了一些常用的正则表达式,以及其不同之处。项目总多,遗漏必有不少,请各位看官不吝指出。以perl的正则为基准,不同的用法以粉红色标出。 grep 2.5.1 egrep 2.5.1 sed 3.02sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 JavaScript ?? 转义 \ \ \ \ \...原创 2009-02-28 21:26:05 · 96 阅读 · 0 评论 -
常用的sed单行命令
节选自sed1line # 在匹配式样“regex”的行之前和之后各插入一空行 sed '/regex/{x;p;x;G;}' #删除所有偶数行 sed 'n;d' # 为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符” # (tab,见本文末尾关于'\t'的用法的描述)而不是空格来对齐边缘。 sed = filename | sed 'N;s/\n/\t/' # 将...原创 2009-03-01 09:40:08 · 185 阅读 · 0 评论 -
对sed1line中一些命令的理解 一
先热身一下,选一个sed1line中比较复杂点的命令 # reverse each character on the line (emulates "rev") #反转一行中每个字符的顺序(类似"rev") sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' 我们选取一行文字是 123 那么执行后模式空间中的内容应该按下边的顺序变化...2009-03-01 10:32:59 · 243 阅读 · 0 评论 -
对sed1line中一些命令的理解 二
# insert a blank line above every line which matches "regex" #在每个含有字符串regex的行上插入一行空白行 sed '/regex/{x;p;x;}' 复习下x ,p命令x Exchange the contents of the hold and pattern spaces.P Print the curren...2009-03-01 10:54:20 · 116 阅读 · 0 评论 -
对sed1line中一些命令的理解 三
# number each line of a file (simple left alignment) Using a tab (see # note on '\t' at end of file)instead of space will preserve margins. #给文件每一行加上数字序号。用TAB制表符替换空间来保留空白 #(在数字序号和文本中间加一TAB制表符) s...2009-03-01 11:18:20 · 132 阅读 · 0 评论 -
对Sed1line中一些命令的理解 四
# align all text flush right on a 79-column width #右对齐,按79列宽排列所有文本 sed -e :a -e 's/^.\{1,78\}$/ &/;ta' # set at 78 plus 1 space t命令的manIf a s/// has done a successful substitution ...2009-03-01 11:36:52 · 162 阅读 · 0 评论 -
对Sed1line中一些命令的理解 五
# reverse order of lines (emulates "tac") #反转文章行的顺序(类似"tac" ) sed '1!G;h;$!d' # method 1 sed -n '1!G;h;$p' # method 2 说下method1原理,method2和它类似。 h copy pattern space to hold space. 流程如下 当读入第一行...2009-03-01 11:57:33 · 103 阅读 · 0 评论