博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk && sed (2)===sed 中的-i 不能和nr一起使用
阅读量:7133 次
发布时间:2019-06-28

本文共 915 字,大约阅读时间需要 3 分钟。

还是替换大小写字母的问题,这是我整理博客的时候遇到的一点小问题

sed -i 用来改变文本内容

root@localhost ding]# echo ding xue | sed -r 's/([^ ]+)/\u&/g'

Ding Xue

[root@localhost ding]# 

这是替换一个字符串,如果我们要替换一个文本中的内容怎么办呢?

例如

[root@localhost ding]# cat 111

ding xue

dingxue

ding da xue

[root@localhost ding]# 

如果我们把这个文本中的首字母变成大写,怎么办呢,是这样吗?例如:

[root@localhost kkk]# sed -ir 's/([^ ]+)/\u&/g' 111

[root@localhost kkk]# cat 111

ding xue

dingxue

ding da xue

[root@localhost kkk]# ls

111  111r

[root@localhost kkk]# 

看结果,并没有改过来,我们ls 一下,发现多了个111r,这是怎么回事呢?

其实这是sed 的一个小bug ,当我们想改变一个文本的时候sed -i如果和rn写在一起就会出错,我们看下111r的内容。也没有改变过来,如果写在一起,sed 就默认把i后面的内容当作备份的后缀。

root@localhost kkk]# cat 111r

ding xue

dingxue

ding da xue

[root@localhost kkk]# 

如果想真正改变文件内容,我们可以这么做。这样就改过来了。

[root@localhost kkk]# sed -r 's/([^ ]+)/\u&/g' -i  111

[root@localhost kkk]# cat 111

Ding Xue

Dingxue

Ding Da Xue

[root@localhost kkk]# 

本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1970090,如需转载请自行联系原作者

你可能感兴趣的文章
虚拟机 ----最小安装无法使用vim编辑器
查看>>
Zookeeper 安装笔记
查看>>
Python 拷贝 copy
查看>>
The NoSQL System
查看>>
我的友情链接
查看>>
kerberos工作原理及实验 老段原创
查看>>
dubbo的线程模型
查看>>
去掉Eclipse 中烦人的黄线和感叹号
查看>>
dede 当前栏目高亮
查看>>
Spring Boot 2.x 系列教程:WebFlux 系列教程大纲(一)
查看>>
nslookup工具查询域名服务器、IP、CNAME等详细用法
查看>>
python 自己按模块存放目录
查看>>
一个融资1000万的创业公司的陨落(三)
查看>>
dos命令
查看>>
nagios安装步骤
查看>>
针对nginx、haproxy、lvs 的优缺点分析
查看>>
对一个字符列表进行过滤和排序
查看>>
WINDOWS2003进行WindowsFTP设置的一些注意事项
查看>>
Swift - 文本标签(UILabel)的用法
查看>>
微软VLSC批量授权中心,Windows 1809新版本iso文件
查看>>