|
sed 里有几种范围模式:'M~N', ‘M,N','addr1,+N',’addr1,~N‘ 。
下面用文本 test.txt 来演示这几种模式,文本内容如下:[beyes@beyes sed]$ cat test.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
'M,N' 范围表示匹配第 M 行到第 N 行:[beyes@beyes sed]$ sed -n '3,5'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
'M~N' 表示从 M 开始,然后显示依次递增 N 行:[beyes@beyes sed]$ sed -n '3~2'p test.txt
3. Hardware
5. Storage
7. Productivity (Too many technologies to explore, not much time available)
9. Software Development
'addr1,+N' 表示从地址 1(匹配),然后再显示后面的 N 行:[beyes@beyes sed]$ sed -n '/Hardware/,+2'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
'addr1,~N' 表示从地址 1(匹配),直到遇到行号是 N 的倍数的行,如:[beyes@beyes sed]$ sed -n '/Hardware/,~2'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
[beyes@beyes sed]$ sed -n '/Hardware/,~3'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
[beyes@beyes sed]$ sed -n '/Hardware/,~4'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
[beyes@beyes sed]$ sed -n '/Hardware/,~5'p test.txt
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage |
|