sed命令参数之-r -i
2024-10-14 05:48:38
对于初学linux的朋友来说,能记住命令附带的一大帮参数就以及非常不容易了。好不容易把该用的参数都想全了。sed -irns 后面一大片脚本 ,一执行出错了 what!!!!
创建一下测试环境
head /etc/passwd > 1
cat 1
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
sed -ir '3,9s/(.*)/#\1/g' 1
然后就出坑了
sed: -e expression #1, char 16: invalid reference \1 on `s' command's RHS
非法参数 \1 然后抓破头 没错啊
问题就出在参数的顺序上
同样我们执行
sed -ri '3,9s/(.*)/#\1/g' 1
[root@fortestonly ~]# cat 1
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
#daemon:x:2:2:daemon:/sbin:/sbin/nologin
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#halt:x:7:0:halt:/sbin:/sbin/halt
#mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
ok我们成功了
那问题出在哪里了显然我们r参数他没干活啊,那他去哪里了
这时候你在当前目录使用 ls 1* 命令
1 1r
这个1r是哪来的cat查看一下竟然和我们的1原来的内容一样
这时候仔细参读我们的-i参数
SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if
extension supplied). The default
operation mode is to break symbolic
and hard links. This can be changed
with --follow-symlinks and --copy.
我们r参数当作备份名的后缀名了,造成我们的正则匹配失效
最新文章
- python des ecb 加密 demo
- vi编辑文件出现Can't open file for writing错误
- 5天玩转C#并行和多线程编程
- HTML页面嵌入视频和JS控制切换视频的问题
- [纯干货] MySQL索引背后的数据结构及算法原理
- nginx设置不使用缓存 add_header Cache-Control no-cache
- django不要设置datetime字段auto_now=True
- Django中如何使用django-celery完成异步任务2(转)
- 从零开始定义自己的JavaScript框架(一)
- 689D Magic Odd Square 奇数幻方
- Linux网络中接收 ";二进制"; 流的那些事 --- 就recv的返回值和strlen库函数进行对话
- Spring Cloud Alibaba基础教程:使用Nacos作为配置中心
- Java线程状态转换
- 使用solr进行配置文件
- 转载:浅谈 Scala 中下划线的用途
- centos7安装terminator
- HTTP RFC解析
- GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio
- poj 1144 Network 无向图求割点
- Codeforces 447D - DZY Loves Modification
热门文章
- 初学Python——第一节课
- 随机产生1-12的整数 , 根据产生整数输出一下该月份的季节信息(Math.random()和if语句的应用)
- Android Wear创建一个通知
- JS /javascript 解除网页屏蔽右键(无法复制)的代码
- springcloud(十三):Eureka 2.X 停止开发,但注册中心还有更多选择:Consul 使用详解
- C#中存储数据的集合:数组、集合、泛型、字典
- 美橙互联SSL 部署到IIS 7以上
- 使用模块PIL 生成 随机验证码
- HDU 3478 Catch (连通性&;&;二分图判断)
- linux下jenkins的时区设置问题