`

sed 系列: 怎样用sed写文件

 
阅读更多


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.
建立测试文件
# 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: 把第一行写入一个文件
$ sed -n '1w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.

例子2:把第一行和最后一行写入一个文件
$ sed -n -e '1w output.txt' -e '$w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.
10.Windows- Sysadmin, reboot etc.

例子3:匹配行写入
$ sed -n -e '/Storage/w output.txt' -e '/Sysadmin/w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.
5. Storage
10.Windows- Sysadmin, reboot etc.

例子4:从匹配行一直到末尾写入文件
$ sed -n '/Storage/,$w output.txt' thegeekstuff.txt

$ cat output.txt
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.

例子5:从匹配行和皮排行后的两行写入文件
$ sed -n '/Storage/,+2w output.txt' thegeekstuff.txt

$ cat output.txt
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)

分享到:
评论

相关推荐

    玩透sed:探究sed原理

    6. **脚本文件(Script File)**:复杂操作通常会编写`sed`脚本文件,用`-f script.sed`参数执行。脚本文件中可以包含多条命令,每行表示一个命令。 7. **其他高级特性**:包括使用`=`打印行号,`H`将活动缓冲区...

    sed安装包:sed-4.2.1-setup.exe

    默认安装即可,会生成GnuWin32文件夹

    windows下cmd程序sed命令所需文件

    除了基本操作,`sed`还支持脚本文件,可以编写一系列命令并在一个命令行中执行,这通常用`-f`选项指定,例如`sed -f script.sed 输入文件`。 在Windows的CMD环境中,可能需要注意一些与Unix/Linux环境不同的地方,...

    Shell、awk、sed面试题汇总(无答案).doc

    12. 文件总行数:可以使用 sed 命令来获得文件的总行数,例如 `sed -n '$=' file`。 其他 13. 变量赋值:可以使用变量来存储值,例如 `x="test"`。 14. 变量取值:可以使用变量来取值,例如 `y=$x`。 15. 目录操作...

    sed命令详解

    - **-f script-file, --file=script-file**: 从文件中读取一系列的`sed`脚本命令。这些命令将会按顺序被执行。 - **-i[SUFFIX], --in-place[=SUFFIX]**: 此选项允许直接在原文件上进行编辑。如果提供了后缀`SUFFIX`...

    sed-4.2.1.rar包括sed-4.2.1-setup.exe、sed-4.2.1-dep.zip、sed-4.2.1-bin.zip

    这个执行文件通常用于在Windows操作系统上安装`sed`,使得用户可以在命令行环境中使用`sed`命令。安装程序会将`sed`的可执行文件放置到系统的PATH路径下,方便用户在任何目录下运行`sed`命令。 **sed-4.2.1-dep.zip...

    sedsed工具

    2. **管道操作**:与其他命令结合使用,如`grep pattern file.txt | sedsed 's/something/else/g'`,先通过`grep`筛选出包含特定模式的行,再用`sedsed`处理它们。 3. **正则表达式**:`sed`支持正则表达式,如`\d`...

    sed安装文件(dll拷到CWindowsSysWOW64,sed.exe拷到CWindowsSystem32).rar

    **sed安装文件(dll拷贝到C:\Windows\SysWOW64,sed.exe拷贝到C:\Windows\System32).rar** `sed`,全称Stream Editor,是一款强大的文本处理工具,常用于Linux和Unix系统中。它能够读取输入流(如标准输入或文件)...

    sed.exe win x32 x64

    例如,你可以在处理大量日志文件时,用sed快速过滤出含有特定关键字的行,然后进行进一步分析。 总的来说,sed.exe是Windows环境下用于文本处理的一个实用工具,其强大的功能和灵活性使其成为开发者和系统管理员的...

    基本的SED命令有大量的SED命令

    SED(Stream Editor)是一种强大的文本处理工具,主要用于对文件进行批量编辑操作。它能够执行诸如替换、删除、插入等多种文本处理任务,尤其适合处理结构化数据或进行简单的文本格式转换。本文将详细介绍SED中的四...

    sedsed:sed脚本的调试器和代码格式化程序

    网站: : 下载/安装Sedsed可作为pip包提供,只需安装即可: pip install --user sedsed与Python 2.7和Python 3.x兼容许可证:GPLv3以获取每个版本中的更改列表备选:sedsed是单个文件应用程序,因此您也可以下载并...

    sed-4.2.1-setup

    运行此文件将按照向导提示进行安装,完成后用户可以在命令行中使用sed命令进行文本处理工作。 总的来说,sed是一个极其有用的文本处理工具,尤其对于程序员和系统管理员来说,它能够在命令行环境中高效地处理文本...

    Sed与awk_中英文高清版

    《Sed与Awk》是IT领域中关于文本处理的经典之作,主要讲解了两种强大的命令行工具:Sed(流编辑器)和Awk(数据处理语言)。这两款工具在Linux和Unix系统中广泛使用,尤其适用于数据提取、转换、报告生成等任务。 ...

    sed使用方法详解sed使用方法详解

    另外,还可以通过`-f scriptfile`来指定一个包含一系列sed命令的脚本文件。 #### 三、命令模式与地址 sed中的命令可以作用于特定的行或者行范围。这可以通过地址来指定,地址通常出现在命令之前,用空格分隔。例如...

    通用线程sed 实例

    1. **不修改原始文件**:sed不会直接修改输入文件,而是将处理后的结果输出到标准输出。 2. **逐行处理**:sed是基于行的编辑器,它逐行读取文件内容并应用命令。 3. **命令的作用范围**:如果不指定特定行范围,则...

    Sed学习笔记

    ### Sed学习笔记详解 #### 1. Sed简介 Sed(Stream Editor)是一种强大的文本处理工具,主要用于在线编辑文本文件。它能够一次性处理文件中的一...通过掌握这些基本知识,用户可以更加高效地使用Sed来处理文本文件。

    Linux-02sed.ppt

    什么是sed:主要介绍什么是sed工具,sed工具的主要操作、工作方式以及地址表示方法,在sed命令中使用正则表达式等。 sed命令的常用操作:主要介绍sed命令的注释方法,打印文本,替换文本,删除文本,追加文本,插入...

    vimsed:vimsed脚本使vim的行为类似于sed。 句法

    警告:使用临时文件~/vimsedin , ~/vimsedcmd.vim和~/vimsedout 。 例子: (注意: "^M"是一个特殊字符,不是^和M键入Ctrl-V + Enter进行键入。代表回车) $ vimsed " :s/e/i/g^M " (user input:) hello hello ...

    Sed AWK编程指南

    在实际应用中,我们经常需要编写一系列的`sed`命令来完成复杂的文本处理任务。这些命令可以被组织成一个脚本,其执行流程大致如下: 1. **读取输入**:逐行读取文件中的内容。 2. **执行命令**:根据命令对每一行...

    sed1520_51单片机_SED1520_badlyzgv_源码

    总结,"sed1520_51单片机_SED1520_badlyzgv_源码"这一主题涵盖了51单片机与LCD控制器的交互,特别是使用SED1520的LCD显示方案。通过研究badlyzgv的源码,开发者可以深入理解LCD显示的原理和实践,进一步提升其在...

Global site tag (gtag.js) - Google Analytics