分类: Mysql/postgreSQL
2014-06-19 14:59:25
“p” command prints the buffer (remember to use -n
option with “p”)
“d” command is just opposite, its for deletion. ‘d’ will
delete the pattern space buffer and immediately starts the next
cycle.
Syntax:
# sed 'ADDRESS'd filename
# sed /PATTERN/d
filename
Let us first creates thegeekstuff.txt file that will be used in
all the examples mentioned below.
# cat
thegeekstuff.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.
例子1:删除第n行
sed ‘Nd’ filename
As per sed
methodology,
It reads the first line and places in its pattern
buffer.
Check whether supplied command is true for this line, if true,
deletes pattern space buffer and starts next cycle. i.e Read next line.
If
supplied command doesnt true, as its normal behaviour it prints the content of
the pattern space buffer.
$ sed 3d
thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases -
Oracle, mySQL etc.
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.
例2:从第三行开始,每隔一行删除
$sed 3~2d thegeekstuff.txt
1. Linux - Sysadmin,
Scripting etc.
2. Databases - Oracle, mySQL etc.
4. Security (Firewall,
Network, Online Security etc)
6. Cool gadgets and websites
8. Website
Design
10.Windows- Sysadmin, reboot etc.
$
例3:删除从第4行到第8行
$sed 4,8d thegeekstuff.txt
1. Linux - Sysadmin,
Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9.
Software Development
10.Windows- Sysadmin, reboot etc.
$sed '4,8d' thegeekstuff.txt
1. Linux - Sysadmin,
Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9.
Software Development
10.Windows- Sysadmin, reboot etc.
$sed '4,8'd thegeekstuff.txt
1. Linux - Sysadmin,
Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9.
Software Development
10.Windows- Sysadmin, reboot etc.
例4:删除最后一行
$sed '$'d thegeekstuff.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
$sed '$d' thegeekstuff.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
例5:行匹配删除
$sed /Sysadmin/d thegeekstuff.txt
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
$sed '/Sysadmin/d' thegeekstuff.txt
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
$sed '/Sysadmin/'d thegeekstuff.txt
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
$
例6:从匹配行到末尾行
$sed '/Website Design/,$d' thegeekstuff.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)
$sed
'/Website Design/,$'d thegeekstuff.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)
例7:删除匹配行和之后两行
$sed '/Storage/,+2d' thegeekstuff.txt
1. Linux -
Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3.
Hardware
4. Security (Firewall, Network, Online Security etc)
8. Website
Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
$sed '/Storage/,+2'd thegeekstuff.txt
1. Linux -
Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3.
Hardware
4. Security (Firewall, Network, Online Security etc)
8. Website
Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
例8:删除空行
$sed
'/^$/d' thegeekstuff.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.
*********************特别提示***********************
#sed -i '/setenforc/,+2d' filename.txt #记得加 -i
才可以对文件真正更改