本文共 2760 字,大约阅读时间需要 9 分钟。
This article is part of Unix Sed Tutorial series. In previous articles, we discussed about , and
In this article, let us review how to extract part of one file and write it to another file using sed.
Sed provides “w” command to write the pattern space data to a new file.
Sed creates or truncates the given filename before reads the first input line and it writes all the matches to a file without closing and re-opening the file.
Syntax: #sed 'ADDERSSw outputfile' inputfilename#sed '/PATTERN/w outputfile' inputfilename
Sed reads a line and place it in a pattern buffer and writes the pattern buffer to the given output file according to the supplied commands.
Let us first create thegeekstuff.txt file that will be used in all the examples mentioned below.
# cat thegeekstuff.txt1. Linux - Sysadmin, Scripting etc.2. Databases - Oracle, mySQL etc.3. Hardware4. Security (Firewall, Network, Online Security etc)5. Storage6. Cool gadgets and websites7. Productivity (Too many technologies to explore, not much time available)8. Website Design9. Software Development10.Windows- Sysadmin, reboot etc.
Let us review some examples of write command in sed.
In this example, 1 (address) refers the first line of the input and w writes the pattern buffer to the output file “output.txt”
$ sed -n '1w output.txt' thegeekstuff.txt$ cat output.txt1. Linux - Sysadmin, Scripting etc.
In this example, 1 and $ refers first and last line respectively.
$ sed -n -e '1w output.txt' -e '$w output.txt' thegeekstuff.txt$ cat output.txt1. Linux - Sysadmin, Scripting etc.10.Windows- Sysadmin, reboot etc.
In this example sed command writes the lines which matches the pattern “Storage” or “Sysadmin”.
$ sed -n -e '/Storage/w output.txt' -e '/Sysadmin/w output.txt' thegeekstuff.txt$ cat output.txt1. Linux - Sysadmin, Scripting etc.5. Storage10.Windows- Sysadmin, reboot etc.
In this example, /Storage/,$ represents line matches from Storage to end of the file.
$ sed -n '/Storage/,$w output.txt' thegeekstuff.txt$ cat output.txt5. Storage6. Cool gadgets and websites7. Productivity (Too many technologies to explore, not much time available)8. Website Design9. Software Development10.Windows- Sysadmin, reboot etc.
In this example, the send command writes the line matches for “Storage” and two lines next to that.
$ sed -n '/Storage/,+2w output.txt' thegeekstuff.txt$ cat output.txt5. Storage6. Cool gadgets and websites7. Productivity (Too many technologies to explore, not much time available)
转载地址:http://wyffb.baihongyu.com/