`
amateurlee
  • 浏览: 8683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sed替换换行符【转】

阅读更多

在GNU中使用此解决方案sed

sed ':a;N;$!ba;s/\n/ /g' file

这将在一个循环中读取整个文件,然后用空格替换换行符。

说明:

  1. 创建标签:a
  2. 将当前行和下一行追加到模式空间,通过N
  3. 如果我们在最后一行之前,则分支到创建的标签。$!ba($!意思是不要在最后一行做这件事,因为应该有最后一个换行符)。
  4. 最后,替换用模式空间(即整个文件)上的空格替换每一行换行符。

下面是跨平台兼容语法,它与BSD和OSX的sed

sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' file
分享到:
评论

相关推荐

    Linux_sed_批量替换字符串方法

    对于位于`test`和`check`之间的行,每行的末尾都将被替换为`sedtest`。 ##### 4. 多命令编辑 `sed`支持在一个命令行中执行多个命令,这通常通过`-e`或`--expression`参数来实现。 - **使用`-e`选项:** ``` ...

    Linuxsed批量替换字符串方法.pdf

    sed的替换功能基本语法是`sed 's/原字符串/新字符串/g' 文件名`,其中`'s'`表示替换操作,`'g'`表示全局替换,即在一行中出现的所有匹配项都会被替换。 例如,将文件中的所有“zhangsan”替换为“lisi”: ```bash ...

    Linux使用sed命令替换字符串教程

    默认情况下,`sed`只替换每行的第一个匹配项。要替换所有匹配项,需添加`g`(global)标志: ```bash sed -e 's/old/new/g' 文件名 ``` ### 替换行首或行尾的字符串 - 行首替换:使用`^`表示行首,例如替换所有以...

    Linuxsed批量替换字符串方法[归类].pdf

    11. `sed 's#10#100#g'`:使用不同的分隔符(`#`)进行替换,将所有`10`替换为`100`。 12. `sed -n '/test/,/check/p'`:打印从`test`到`check`之间所有行。 13. `sed '5,/^test/p'`:打印从第五行到第一个以`test...

    sed awk高级编程案例

    示例中通过使用tr命令去除换行符,xxd命令将字符转换为十六进制形式,然后用sed命令将0x前缀替换为%号,最后再转换十六进制字母大小写以匹配标准的URL编码格式。但需要额外注意的是,该方法会将所有字符进行编码,...

    sed and wak 101

    `sed`替换分隔符 默认情况下,替换命令使用斜杠作为分隔符,但也可以更改分隔符以避免与模式中的字符冲突。例如,使用`#`作为分隔符: ``` sed 's#pattern#replacement#g' file.txt ``` 这将全局替换文件`file....

    sed and awk 101 hacks

    第三章介绍了正则表达式的基础(RegularExpressionFundamentals)和一些额外的正则表达式(AdditionalRegularExpressions),以及如何在sed替换中使用它们(SedSubstitutionUsingRegularExpression)。 第四章讨论...

    《SED 单行脚本快速参考》

    - 解析:使用 `sed'/./='` 仅对非空行添加行号,然后通过管道传递给下一个 `sed` 命令,去除行号后的换行符。 - **AWK**: `awk'{i++;if(!/^$/)printf("%d%s\n",i,$0);elseprint}'` - 解析:定义一个计数器 `i`,...

    Sed AWK编程指南

    `l` 命令可以显示不可见字符,如制表符、换行符等。 示例: ``` sed 'l' file.txt ``` ##### 33. 打印行号 (`=` 命令) `=` 命令可以打印行号。 示例: ``` sed '=' file.txt ``` ##### 34. 改变大小写 (`y` ...

    sed简明教程.pdf

    sed的进阶知识点还包括循环和条件处理,如`d`命令删除当前模式空间内容后直接开始下一行处理,而`D`命令则删除直到换行符的所有内容,继续处理剩余的文本。另外,`n`命令可以用来读取下一行内容,`N`命令则用来将下...

    Linux shell 用sed命令在文本的行尾或行首添加字符

    要添加字符到行尾,可以使用 sed 命令的`s` 操作符,例如,添加字符 "TAIL" 到每行的行尾: ``` sed 's/$/&TAIL/g' test.file ``` 这里,`$` 代表行尾,`&` 代表原来的行内容,`g` 代表全局替换,即每行都执行一次...

    sed手册完整版

    这里`N`命令读取下一行并附加到模式空间,`s/\n//`删除中间的换行符,`p`打印结果。 **3.3 删除文件中的数据** 删除匹配特定模式的所有行: ``` sed '/pattern/d' input_file ``` **3.4 搜寻文件中的数据** 搜索...

    sed-4.2.1-setup

    如`sed '10,20 s/pattern/new/g'` 会在第10行到第20行之间执行替换操作。 6. **命令重定向**:结合Linux shell,sed可以将处理后的结果重定向到新文件或输出设备。 在标签中提到的 **.bat** 指的是批处理文件,这...

    sed和awk单行命令比较

    使用`awk`,可以简单地通过`printf`函数在打印每行后额外输出两个换行符。 ##### 2.2 删除空白行 **sed**: ``` sed '/^$/d;G' ``` 这里使用了两个命令:`/^$/d`用于删除空白行,而`G`命令则将当前行添加到模式空间...

    LINUX vim替换字符串指令.docx

    本文档共四页,涵盖了多种使用 `s` 命令的方式,包括基本用法、使用分隔符、删除文本中的换行符等内容。 基本用法 -------- 在 vim 编辑器中,可以使用 `s` 命令来替换字符串。基本用法为: ``` :s/vivian/sky/ ``...

    sed高级用法学习笔记和实例

    - **D**: 删除模式空间中的第一行,直到遇到换行符`\n`为止。 #### 六、实例解析 1. **替换操作**: - 替换文本中的某个模式:`sed 's/old/new/g' file` - 替换每行的第1次出现:`sed 's/old/new/' file` 2. **...

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

    sed非常适用于批量修改文本文件,如替换字符串、删除行、插入新内容等。 #### 二、基本语法与选项 sed的基本语法结构如下: ``` sed [options] 'command' file(s) sed [options] -f scriptfile file(s) ``` 其中...

    Sed学习笔记

    - **N** 追加下一行到模式空间中,并在其间添加一个换行符。 - **p** 打印模式空间的内容。 - **P** 打印模式空间的第一行。 - **q** 结束Sed程序的运行。 - **r file** 从指定文件中读取一行。 - **t label** 如果...

    linux Sed 使用手册

    - `sed 's#10#100#g' example`:将所有`10`替换为`100`,这里使用`#`作为分隔符而非默认的`/`。 #### 选定行的范围:逗号 `sed`支持通过逗号定义行范围,进行更精确的操作。 - `sed -n '/test/,/check/p' example...

Global site tag (gtag.js) - Google Analytics