`
天梯梦
  • 浏览: 13747636 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Sed - Delete one or more lines from a file

 
阅读更多

Here is how to remove one or more lines from a file.

Syntax:

sed '{[/]<n>|<string>|<regex>[/]}d' <fileName>       
sed '{[/]<adr1>[,<adr2>][/]d' <fileName>

 

  • /.../=delimiters
  • n = line number
  • string = string found in in line
  • regex = regular expression corresponding to the searched pattern
  • addr = address of a line (number or pattern )
  • d = delete


Examples

Remove the 3rd line:

sed '3d' fileName.txt


Remove the line containing the string "awk":

sed '/awk/d' filename.txt


Remove the last line:

sed '$d' filename.txt


Remove all empty lines:

sed '/^$/d' filename.txt       
sed '/./!d' filename.txt

 
Remove the line matching by a regular expression (by eliminating one containing digital characters, at least 1 digit, located at the end of the line):

sed '/[0-9/][0-9]*$/d' filename.txt


Remove the interval between lines 7 and 9:

sed '7,9d' filename.txt


The same operation as above but replacing the address with parameters:

sed '/-Start/,/-End/d' filename.txt


The above examples are only changed at the display of the file (stdout1= screen).

For permanent changes to the old versions (<4) use a temporary file for GNU sed using the "-i[suffix]":

sed -i".bak" '3d' filename.txt

 

来源:http://en.kioskea.net/faq/1451-sed-delete-one-or-more-lines-from-a-file

 

Task: Remove blank lines using sed

Type the following command:

$ sed '/^$/d' input.txt > output.txt

 

Task: Remove blank lines using grep

$ grep -v '^$' input.txt > output.txt

 

Both grep and sed use special pattern ^$ that matchs the blank lines. Grep -v option means print all lines except blank line.

 

Let us say directory /home/me/data/*.txt has all text file. Use following for loop (shell script) to remove all blank lines from all files stored in /home/me/data directory:

#!/bin/sh
files="/home/me/data/*.txt"
for i in $files
do
  sed '/^$/d' $i > $i.out
  mv  $i.out $i
done

 

Updated for accuracy.

 

来源:http://www.cyberciti.biz/faq/howto-linux-unix-command-remove-all-blank-lines/

 

 

分享到:
评论

相关推荐

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

    在给定的压缩包`sed-4.2.1.rar`中,包含了用于安装的`sed-4.2.1-setup.exe`,以及两个不同用途的ZIP文件:`sed-4.2.1-dep.zip`和`sed-4.2.1-bin.zip`。 **sed-4.2.1-setup.exe** `sed-4.2.1-setup.exe`是`sed`工具...

    sed-4.2.1-setup

    **sed-4.2.1-setup** 是一个安装程序,用于在计算机上部署 **sed** 工具的4.2.1版本。**sed**,全称“Stream Editor”,是Unix和类Unix操作系统中的一款强大文本处理工具。它能够对输入流(标准输入或文件)进行读取...

    sed-4.2.1-setup.exe

    sed-4.2.1-setup.exe window下可以使用

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

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

    sed-4.2.1-bin.zip

    在这个场景中,`sed-4.2.1-bin.zip`是一个特别为Windows系统定制的版本,让用户在没有Unix环境的条件下也能使用`sed`功能。 **在Windows上使用sed** 由于Windows操作系统默认并不包含`sed`工具,`sed-4.2.1-bin....

    【报错问题】Node 运行入口文件时,提示 `basedir=$(dirname “$(echo “$0″ | sed -e ‘s,\\,/,g’)” SyntaxError:……`

    二、开启入口文件时,提示以下错误 `basedir=$(dirname $(echo $0 | sed -e 's,\\,/,g') SyntaxError: missing......` 三、解决办法,因为使用了express框架,需要安装 express 即可 npm install express --save-...

    Sed - An Introduction and Tutorial by Bruce Barnett

    使用`-e`选项可以在命令行中指定多个Sed命令,如`sed -e '1d' -e 's/a/b/g' file.txt`。 ### 地址和文本范围 Sed还支持使用地址或文本范围来限制命令的作用范围。例如,`sed '1,3s/a/b/'`表示仅对前3行中的`a`字符...

    sed调试器debug

    usage: sedsed OPTION [-e sedscript] [-f sedscriptfile] [inputfile] OPTIONS: -f, --file add file contents to the commands to be parsed -e, --expression add the script to the commands to be parsed ...

    sed-for-windows

    在Windows上,`sed`通常以可执行文件的形式提供,如压缩包中的`sed-4.1.5-setup.exe`。下载并运行该安装程序,按照提示完成安装,即可在命令行环境下使用`sed`。需要注意的是,Windows版本可能与Linux版本存在细微...

    sed-4.2.2-7.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    sed-4.8-x64.exe

    解决webstrom rpx带空格问题。网上有很多说让用sed.exe。我最先下载的sed.4.21.exe此版本一点用都没有。踩坑很久。只有这个版本的真的有效的。

    sed-4.2.1.tar.gz

    《深入理解sed命令:以sed-4.2.1为例》 sed,全称为Stream Editor,是Linux/Unix系统中一款强大的文本处理工具。它在命令行环境下工作,能够对输入流(标准输入或者文件)进行实时编辑,并将处理结果输出到标准输出...

    Vim-101-hacks、Sed-and-Awk-101-Hacks、Linux-101-hacks 英文版(高清)PDF

    "Sed-and-Awk-101-Hacks"可能包含如何使用基本的sed命令,如替换、删除、插入行,以及使用地址范围进行特定操作。此外,还可能涉及正则表达式在sed中的应用,如查找和替换模式,以及使用sed进行批量文本编辑。 3. ...

    linux命令中Sed各种使用方式

    Sed 的追加命令的语法是 `a[line-address]a\text`,其中 `address` 是行号或行号范围,`text` 是要追加的文本。 例如,`sed '$a\aa' filename` 在文件的最后一行后追加一行 "aa"。 打印命令 Sed 的打印命令的...

    sed-4.2.1.tar.bz2

    sed-4.2.1是linux的sed命令的源代码,于标准库中的代码一致!

    sed命令------------

    ### sed命令详解与应用 #### 一、简介 sed(stream editor)是一种强大的文本处理工具,主要用于自动化文本处理任务,如查找、替换、删除、插入等操作。它非常适合用于脚本编写,尤其对于那些需要频繁处理文本文件...

    桑达SED-320税控器安装文件

    关于桑达品牌SED-320税控器 首次购买和使用新版发票的操作及设置说明 北京安众祺科技发展有限公司作为桑达品牌税控机服务商,根据《北京市地方税务局关于普通发票简并票种统一式样有关问题的公告》有关工作要求,...

    sed-awk-2nd-edition.chm

    The book begins with an overview and a tutorial that demonstrate a progression in functionality from grep to sed to awk. sed and awk share a similar command-line syntax, accepting user instructions in...

    linux安全设置

    sed -i '/^PASS_MAX_DAYS[:space:]*[:digit:]*/c\PASS_MAX_DAYS\t90' /etc/login.defs sed -i '/^PASS_MIN_DAYS[:space:]*[:digit:]*/c\PASS_MIN_DAYS\t0' /etc/login.defs sed -i '/^PASS_MIN_LEN[:space:]*[:digit...

Global site tag (gtag.js) - Google Analytics