求助se d 问题

求助se d 问题

小弟学习se d 的时候遇到问题:
se d 命令中D和d 的区别.资料上没有说明,我试了几个命令,功能都一样.
例如:[root@zhanglj home]# sed '2D' axample
1       northwest       NW      Charles Main    3.0     .98     3       34
3       southwest       SW      Lewis Dalsass   2.7     .8      2       18
4       southern        SO      Suan Chin       5.1     .95     4       15
5       southeast       SE      Patricia Hemen  4.0     .7      4       17
6       eastern         EA      TB Savage       4.4     .84     5       20
7       northeast       NE      AM Main Jr.     5.1     .94     3       13
8       north           No      Margot Weber    4.5     .89     5       9
9       central         CT      Ann Stephens    5.7     .94     5       13
[root@zhanglj home]# sed '2d' axample
1       northwest       NW      Charles Main    3.0     .98     3       34
3       southwest       SW      Lewis Dalsass   2.7     .8      2       18
4       southern        SO      Suan Chin       5.1     .95     4       15
5       southeast       SE      Patricia Hemen  4.0     .7      4       17
6       eastern         EA      TB Savage       4.4     .84     5       20
7       northeast       NE      AM Main Jr.     5.1     .94     3       13
8       north           No      Margot Weber    4.5     .89     5       9
9       central         CT      Ann Stephens    5.7     .94     5       13
大家帮忙解答.万分感谢!      
像楼主这样的用法
d 和 D 是没有区别的

这里有个解释
http://phi.sinica.edu.tw/aspac/r ... sed_sec_4.html#4.16
引用:
#  函數參數 D 最多配合兩個位址參數。
# 函數參數 D 與 d 的比較如下 :

   1. 當 pattern space 內只有一資料行時 , D 與 d 作用相同。
   2. 當 pattern space 內有多行資料行時
         1. D 表示只刪除 pattern space 內第一行資料 ; d 則全刪除。
         2. D 表示執行刪除後 , pattern space 內不添加下一筆資料 , 而將剩下的資料重新執行 sed script ; d 則讀入下一行後執行 sed script。
复制内容到剪贴板
代码:
[0 No.535 huanlf@huanlf ~/study]$ cat txt
1 abc
2 abc
3 abc
4 abc

[0 No.536 huanlf@huanlf ~/study]$ sed ' 2 {N; /abc/d } ' txt
1 abc
4 abc

[0 No.537 huanlf@huanlf ~/study]$ sed ' 2 {N; /abc/D } ' txt
1 abc
3 abc
4 abc

[0 No.538 huanlf@huanlf ~/study]$
      
这儿有个用 sed 模拟 tail 的例子, 其中也用到了 D 命令:
复制内容到剪贴板
代码:
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/void/sed/sample_scripts)-
[4011 0][/color] [color=red]; cat tail_2
[/color]#!/usr/bin/sed -f

1h
2,10 {; H; g; }
$q
1,9d
N
D
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/void/sed/sample_scripts)-
[4011 0][/color] [color=red]; cat file
[/color]15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/void/sed/sample_scripts)-
[4011 0][/color] [color=red]; sed -f tail_2 file
[/color]10
9
8
7
6
5
4
3
2
1
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/void/sed/sample_scripts)-
[4011 0][/color] [color=red]; o
[/color]
      
多谢斑竹。