文档章节

mac自带的sed和linux表现不一致, 需要安装gnu-sed

孟飞阳
 孟飞阳
发布于 06/06 16:32
字数 229
阅读 10
收藏 1
点赞 0
评论 0

1.本来想把逗号替换成换行,结果不行。

$echo "a,b,c,d" |sed  's/,/\n/g'
anbncnd

网上查了一下,原来是mac的sed对\n的处理和linux不一样,

详见:http://superuser.com/questions/307165/newlines-in-sed-on-mac-os-x


解决办法:
1.brew install gnu-sed --with-default-names
2.vi ~/.zshrc
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
3.source ~/.zshrc 或者新开窗口,让设置生效


再试,就可以了!
$echo "a,b,c,d" |sed  's/,/\n/g'
a
b
c
d


 

2.sed -i 替换文件内容的时候,如果想在原始文件上替换,不想生成额外的副本,就需要在正则表达式的前面多加一个""

sed -i "" "s/aaa/bbb/g"  a.txt      直接替换a.txt

或者

sed -i_bak "s/aaa/bbb/g"  a.txt  会替换a.txt 但同时生成a_bak.txt

 

如果换成gnu-sed ,直接

sed -i "s/aaa/bbb/g"  a.txt 

即可,跟linux上的表现一致!

本文转载自:https://blog.csdn.net/wk3368/article/details/50876808

共有 人打赏支持
孟飞阳
粉丝 202
博文 923
码字总数 537538
作品 5
朝阳
个人站长
【Linux】基础每日一命之sed命令

sed命令是利用script来处理文件 sed可依照script的指令,来处理、编辑文本文件。 sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等 语法: sed [-hnV][-e...

白羊IT
06/27
0
0
linux shell学习笔记

sed 非交互式文本编辑器 1、命令行调用 sed [option] 'sed命令' file 2、sed命令调用sed脚本 sed [option] -f sed脚本文件 file 3、sed脚本 此脚本必须以#!开头 使用方式./脚本文件 输入文件...

玩代码的小坏孩
2015/01/04
0
0
linux下sed命令对文件执行文本替换

让我们看一下 sed 最有用的命令之一,替换命令。使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令最基本用法的示例: $ sed -e 's/foo/bar/' myfile.txt 上...

charlesdong1989
2012/11/06
0
0
Sed、Awk和grep 学习笔记(一)

一 Sed 命令 命令格式: sed [-nefi] '[动作]' [filename] 参数: -n 安静模式,只显示sed处理的那一行。 -e 多重编辑,可以同时执行多个动作。sed -e '1d' -e '1a ttt' -f 将sed动作写入脚本,...

yw天天向上
07/02
0
0
linux sed 批量替换字符串

比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文...

走下哦
07/01
0
0
大数据教程(2.9):Linux命令sed详解

Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲...

em_aaron
07/14
0
0
linux中行编辑器sed的基本用法

linux中行编辑器sed的基本用法 sed的处理方法 默认逐行读取文件到内存中---->把符合模式的行读取到属于sed的内存中(sed的模式空间)进行编辑---->将处理后模式空间的内容显示到屏幕上 sed:行编...

fuvip
06/26
0
0
sed 匹配多个字符串的行打印

匹配多个关键词,打印出匹配的行,效果类似于 grep grep hello|world file > output 或者用扩展正则 grep -E '(hello|world)' file > output 如果grep用的是 -e 小写e参数,需要加上反斜杠转...

hell0cat
2015/04/21
0
0
DOS/Windows和Linux/Unix间的文件格式转换

做无线传感器网络自己生产拓扑的时候一直碰到看起来相同的文件被解析成拓扑的时候却不同,一直摸不清原因,居然是这个问题,还好看见了这篇文章。 DOS/Windows和Linux/Unix的文件换行回车格式...

吟啸_徐行
2014/05/19
0
0
sed工具与正则表达式的使用(shell第四天)

sed工具 【流式编辑器】 —— 非交互,基于模式匹配过滤及修改文本 —— 逐行处理,并将结果输出到屏幕 ——可实现对文本的输出,删除,替换,复制,剪切,导入,导出等各种操作 命令格式: ...

Morning晨丿
04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

回想过往,分析当下,着眼未来

好久没有真正的在纸质笔记本上写过东西了,感觉都快不会写字了,笔画都不知道怎么写了。接下来就说说咱们的正事。 2018年7月22日,我做了一个决定,那就是去参加安全培训(可能是我职业生涯中...

yeahlife
28分钟前
1
0
关于工作中的人际交往

关于工作中的人际交往 Intro 写了篇发泄情绪的博客,但不会发布出来。 大概就是,要么忍,要么滚。 以及一些不那么符合社会主义核心价值观,不满于大资本家与小资本家剥削的废话。

uniqptr
33分钟前
0
0
springMVC的流程

1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(...

JavaSon712
49分钟前
0
0
大数据教程(3.2):Linux系统软件安装之自动化脚本

博主前面文章有介绍过软件的安装,可以帮助IT人员顺利的完成功能软件安装;但是,对于我们运维人员或者需要管理软件安装的项目经理来说,有些应用一次行需要搭建很多台相同的软件环境(如tom...

em_aaron
今天
0
0
Spring Boot 2.0.3 JDBC整合Oracle 12

整合步骤 1. Oracle驱动引入 Oracle驱动一般不能通过maven仓库直接下载得到,需自行下载并导入到项目的lib目录下,建议通过如下pom依赖引入下载的Oracle驱动 <!-- Oracle 驱动 -->...

OSC_fly
今天
0
0
java 8 并行流 - 1

下面创建一个并行流,与顺序流 //顺序流Stream.iterate(0L, i -> i + 1) .limit(Integer.MAX_VALUE) .reduce(0L, Long::sum);//并行流Stream.iterate(0L, i -> i......

Canaan_
今天
0
0
数据结构与算法5

二分法采用向下取整的方法 使用有序数组的好处是查找的速度比无序数组快的多,不好的方面是因为要将所有靠后的数据移开,所以速度较慢,有序数组和无序数组的删除操作都很慢。 有序数组在查找...

沉迷于编程的小菜菜
昨天
1
1
SpringBoot | 第十一章:Redis的集成和简单使用

前言 上几节讲了利用Mybatis-Plus这个第三方的ORM框架进行数据库访问,在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的需求。...

oKong
昨天
5
0
对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
昨天
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部