sed中y命令与s命令的区别

十月飞翔
• 阅读 179

首先这两个命令都可以用作替换,但替换时还是有区别的

(1)y一般是行级别的替换,s一般是列级别替换(当然也可以转换成行级);

(2)s替换的是整体,y替换的是每一字母对应的单个字母

例:

1、sed 's/dog/cat/' data 把data中的所有行中的第一次出现dog的替换成cat,(注意:如果cat/后没有出现其他形式,则默认时第一次出现的位置)

2、sed '1,3y/abc/ABC/' data 把data中的第一行至第三行中的a替换成A,b替换成B,c替换成C

3、sed '2,${s/dog/cat/1}' data 把data中的第二行至最后一行的第一次出现dog的替换成cat

点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。 1、使用解构获取json数据let jsonData   id: 1, status: "OK", data: ['a', 'b'] ; let  id, status, data: number   jsonData; console.log(id, status, number )
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
Stella981 Stella981
1年前
JS 苹果手机日期显示NaN问题
### 问题描述 * `new Date("2019-12-29 10:30:00")` 在IOS下显示为NaN ### 原因分析 * 带`-`的日期IOS下存在兼容问题 ### 解决方法 * 字符串替换 let dateStr = "2019-12-29 10:30:00"; date = dateStr .repl
Easter79 Easter79
1年前
Twitter的分布式自增ID算法snowflake (Java版)
概述 == 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
1年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane 会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了? 2JOptionPane.setIcon(Icon) 修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题. 3.代码: if(JOptio
Stella981 Stella981
1年前
Shell脚本之sed的使用
1.sed命令;主要作用是查找;新增 删除 和修改替换。 user.txt  daokr#cat user.txt ID Name Sex Age 1 zhang M 19 2 wang G 20 3 cheng M 10 4 h
Stella981 Stella981
1年前
Shell 命令替换
**1、命令替换,**有两种方式   方式一:\`command\`   方式二:$(command) **2、应用场景**   在命令中通过命令替换的方式,将某些子命令的结果嵌入到当前命令中。 **3、举例**   例1: 获取系统所用用户并输出。   // 命令形式cat /etc/passwd | cut -d ":" -f 1
helloworld_34035044 helloworld_34035044
4个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。 uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid() 或 uuid(sep)参数说明:sep 布尔值,生成的uuid中是否包含分隔符'',缺省为
3A网络 3A网络
1个月前
理解 virt、res、shr 之间的关系(linux 系统篇)
# 理解 virt、res、shr 之间的关系(linux 系统篇) **前言** 想必在 linux 上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题 —— 你的程序在运行时占用了多少内存(物理内存)? 通常我们可以通过 t
3A网络 3A网络
1个月前
开发一个不需要重写成 Hive QL 的大数据 SQL 引擎
# 开发一个不需要重写成 Hive QL 的大数据 SQL 引擎 学习大数据技术的核心原理,掌握一些高效的思考和思维方式,构建自己的技术知识体系。明白了原理,有时甚至不需要学习,顺着原理就可以推导出各种实现细节。 各种知识表象看杂乱无章,若只是学习