sed多行命令和循环,默认情况下sed命令是单行处理
46. Append Next Line to Pattern Space (N command)
在同一行输出行号
|
|
n与N;2n与2N差异化研究
####
下面例子显示结果是在第2N遍执行sed-command里面的2N命令;在第N遍则不执行
推论:如为3N则第3N遍执行.
而n参数是输出最后一行
步骤分析
47. Print 1st Line in MultiLine (P command)
输出多行的第一行。P命令为输出模式空间,直到遇到一个\n符号,
所以如果模式空间里有多个\n换行符(比如有个N命令),则只输出第一行。
48. Delete 1st Line in MultiLine (D command)
删除多行的第一行
49. Loop and Branch (b command and :label)
循环和分支
b命令打上标签label,然后:label为锚点,跳到指定标签位:label处执行
50. Loop Using t command
循环使用t命令
下面一小段代码是循环的
123:repeat/Manager/ s/^/*//\*\*\*/!t repeat:repeat:这个是标签/Manager/ s/^/*/: 匹配Manager行,在行首加一个*号/\*\*\*/!t repeat:判断如果上一句执行成功,并且不是***则跳到标签repeat继续执行
