首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用sed替换静态位置上的字符串,而不删除空格

sed是一种流式文本编辑器,可以用于在文本文件中进行搜索和替换操作。要替换静态位置上的字符串,而不删除空格,可以使用sed命令的替换功能。

下面是使用sed替换静态位置上的字符串的步骤:

  1. 打开终端或命令行界面。
  2. 使用sed命令的替换功能进行操作。sed命令的基本语法如下:
代码语言:txt
复制

sed 's/要替换的字符串/替换后的字符串/' 文件名

代码语言:txt
复制

其中,s/要替换的字符串/替换后的字符串/表示替换操作,文件名表示要进行替换的文件。

  1. 在要替换的字符串中,如果存在空格,需要使用转义字符\进行转义。例如,如果要替换的字符串是"Hello World",则需要写成"Hello\ World"。
代码语言:txt
复制

sed 's/Hello\ World/替换后的字符串/' 文件名

代码语言:txt
复制
  1. 运行sed命令,它将会在指定的文件中替换静态位置上的字符串,而不删除空格。

以下是一个示例:

假设有一个文件example.txt,内容如下:

代码语言:txt
复制
Hello World, this is a test.

要将字符串"this is"替换为"that was",可以使用以下命令:

代码语言:txt
复制
sed 's/this\ is/that\ was/' example.txt

运行该命令后,文件example.txt的内容将变为:

代码语言:txt
复制
Hello World, that was a test.

注意:上述示例中的命令只会替换第一个匹配到的字符串。如果要替换所有匹配到的字符串,可以在替换操作的末尾添加"g"标志。

希望以上信息对你有所帮助!如果你还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

sed 命令+正则表达式

/pattern/   查询包含两个模式行,/disk/disks/     /pattern/,x  在给定行号查询包含模式行,/disk/,3     x,/pattern/  通过行号和模式查询匹配行...查询包含指定行号x和y行 基本sed编辑命令:     p      打印匹配行                      c\    用新文本替换定位文本     =      显示文件行号                   ...$//g'         删除以句点结尾行     '-e /abcd/d'       删除包含abcd行     's/[][][]*/[]/g'   删除一个以上空格,用一个空格代替    ...'s/^[][]*//g'      删除行首空格     's/\.[][]*/[]/g'   删除句号后跟两个或更多空格,用一个空格代替     '/^$/d'            删除空行    ...为了能够方便用户更加灵活设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围局限于具体字符。

3.4K20

Linux基础——正则表达式

简单说,正则表示式就是处理字符串方法,它是以行为单位来进行字符串处理行为,正则表示式通过一些特殊符号辅助,可以让使用者轻易达到搜寻/删除/取代某特定字符串处理程序。...'[^g]oo' 作搜索字符串,^符号如果出现在[ ]起始位置表示否定,但是在[ ]其他位置是普通字符。...反检索,只显示匹配行 8、精确匹配:\ 例如在抽取字符串“ 48”,返回结果包含诸如 484 和483 等包含“48”其他字符串,实际应精确抽取只包含 48 各行。...sed 基本命令: 1、替换: s命令 (1)基本用法 sed 's/day/night/'new 该例子将文件 old 中每一行第一次出现 day 替换成 night, 将结果输出到文件...在 awk 中,文件每一行中,由域分隔符分开每一项称为一个域。通常,在指名-F 域分隔符情况下,默认域分隔符是空格或 tab 键。

4.3K30

《Linux与unix Shell编程指南》 总结

-rw:文件属主权限 这是前面三位 2) 同组用户,拥有该文件用户组中何用户。 -r-: 同组用户权限 这是中间三位 3) 其他用户,即不属于拥有该文件用户组某一用户。...,"god");print $0}' test 通过对比可知tr替换两个字串必须等长度,sed不能把说有的root替换 2、只在出现字符串fell字符串前提下,将找到行中good替换为bad.../good/ {print $0}' grep -v 'good' 6、显示匹配行一行,不显示匹配行 sed -n '/good/{g;1!...(见一脚本) sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//' # 在每一行开头加上一个尖括号和空格(引用信息) sed 's/^/> /' # 将每一行开头处尖括号和空格删除...(见一脚本) sed 's/ *(.*)//; s/>.*//; s/.*[: /' # 将每一行开头处尖括号和空格删除

5.5K30

Linux文本处理工具浅谈-awk sed grep

FS 字段分隔符(默认是任何空格)。 IGNORECASE 果为真,则进行忽略大小写匹配。...sub 匹配记录中最大、最靠左边字符串正则表达式,并用替换字符串替换这些字符串。...替换只发生在第一次匹配 时候 gsub 整个文档中进行匹配 index 返回子字符串第一次被匹配位置,偏移量从位置1开始 substr 返回从位置1开始字符串...#指令放在文件里 sed-command a 追加 i 插入 d 删除 c 替换指定行 s 替换每一行匹配到第一个字符 g 替换每一行全部 p 输出 w...*$–>表示以空格tea起始,任意字符结尾,实际就是匹配oldboy字符串后,紧接着字符串□teacher.; 后面被替换内容中\1就是取前面的括号里内容了,也就是我们要oldboy字符串

3.5K41

常用 linux 命令集锦

: 1. sed替换基本语法为: sed 's/原字符串/替换字符串/' ------------单引号里面,s表示替换,三根斜线中间是替换样式,特殊字符需要使用反斜线"\"进行转义...替换字符串?' 4. 可以在末尾加g替换每一个匹配关键字,否则只替换每行第一个,例如: # 替换所有匹配关键字 sed 's/原字符串/替换字符串/g' 5....  #替换第2行 sed '$s/原字符串/替换字符串/g' #替换最后一行 sed '2,5s/原字符串/替换字符串/g' #替换2到5行 sed '2,$...# 替换文件中所有匹配项 sed -i 's/原字符串/替换字符串/g' filename 8....关系表达式:可以用下面运算符表中关系运算符进行操作,可以是字符串或数字比较,$2>%1选择第二个字段比第一个字段长行。 模式匹配表达式:用运算符~(匹配)和~!(匹配)。

4.4K10

shell脚本扩展「建议收藏」

简单说,正则表示式就是处理字符串方法,它是以行为单位来进行字符串处理行为, 正则表示式通过一些特殊符号辅助,可以让使用者轻易达到搜寻/删除/取代某特定字符串处理程序。...应用 ‘[^g]oo’ 作搜索字符串,^符号如果出现在[]起始位置表示否定,但是在[]其他位置是普通字符。...反检索,只显示匹配行 8、精确匹配: 例如在抽取字符串“ 48”,返回结果包含诸如484和483等包含“48”其他字符串,实际应精确抽取只包含48各行。...sed基本命令: 1.替换: s命令 1.1 基本用法 sed ‘s/day/night/’ old >new 该例子将文件 old 中每一行第一次出现 day 替换成 night...通常,在指名-F域分隔符情况下,默认域分隔符是空格或tab键。

5.8K20

一文掌握shell脚本基本语法

Bash变量:区分类型,都是字符串,不允许进行数值计算,除非变量中包含数字。 如果变量值中间有空格,则使用引号(单引号或双引号均可)扩起来。 5.4 环境变量 会影响用户接口和shell行为。...双引号 - 如果其中使用了变量,则变量内容也会被替换。 - 如果再次使用引号,则使用转义符。 不用引号 性质和双引号一致,但是字符串不能有空格。...Linux三剑客 --- sed sed ----- stream editor,是文本处理工具。主要是查找并替换文本字符串等。 语法: sed [OPTION]......如果是需要忽略大小写时,可使用gi 几个具体使用场景:vim命令行模式中操作和直接操作文本是相同原理 16.1 替换/修改字符串 # 全局替换(vim亦可),且忽略大小写 sed -i "s/Hello...# 将文件中空格全部换行(\n) sed "/\//d" helloworld.sh # 将文件中 /所在行直接删除(也就是#!

3.9K00

linux运维中命令梳理(三)

d ∶删除,因为是删除啊,所以 d 后面通常接任何咚咚; i ∶插入, i 后面可以接字串,而这些字串会在新一行出现(目前一行); p ∶列印,亦即将某个选择资料印出...s后面的替换符号可以使用/,#,_三种符号 格式:sed 's/要替换字符串/新字符串/g' (要替换字符串可以用正则表达式) [root@localhost ruby] # sed -n '...  格式:sed 's/要替换字符串/新字符串/g' (要替换字符串可以用正则表达式) [root@localhost ruby] # sed -n '/ruby/p' ab |...:只匹配整个单词,不是字符串一部分(匹配’magic’,不是’magical’), grep -C number pattern files :匹配上下文分别显示[number]行, grep...tr命令主要用于实现以下两个功能 替换操作字符串转换。 删除操作字符串转换,可以很容易删除一些控制字符或者是空行。 tr命令能够实现功能,都能够用sed命令来实现。

7.9K81

linux实战(一)

在Linux系统,正则表达式通常被用来查找文本模式,以及对文本执行“搜索-替换”操作和其它功能。...d :删除,因为是删除啊,所以 d 后面通常接任何咚咚; i :插入, i 后面可以接字串,而这些字串会在新一行出现(目前一行); p :列印,亦即将某个选择数据印出。...例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令结果。...保持和获取h命令和G命令 $ sed -e '/test/h' -e '$G example 在sed处理文件时候,每一行都被保存在一个叫模式空间临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理行都将打印在屏幕...RSTART 由match函数所匹配字符串第一个位置。 SUBSEP 数组下标分隔符(默认值是\034)。

2.2K10

《Linux命令行与shell脚本编程大全》第二十一章 sed进阶

记住,通常sed编辑器在移动到数据流中下一行文本行之前,会在当前行执行完所有定义好命令,next命令改变了这个流程。...测试命令会根据替换命令结果跳转到某个标签,不是根据地址跳转。...21.5.2 替代单独单词 有时需要提取这个字符串一部分。 sed编辑器用圆括号来定义替换模式中子模式。你可以在替代模式中使用特殊字符来引用每个子模式。...输出 默认情况下sed编辑器输出到STDOUT。...对于匹配这个区间(两个或者更多空行)行则删除。 $sed ‘/./,/^$/!d’ data2.txt 区间就是/./ 到 /^$/。开始会匹配包含至少一个字符行。区间结束是空行。

1.7K90

linux常用指令学习记录

${变量%关键字}:从变量内容最后开始,将符合关键字最短数据删除 ${变量%%关键字}:从比那两内容最后开始,将符合关键字最长数据删除 ${变量/旧字符串/新字符串}:将遇到第一个旧字符串更新为新字符串...${变量//旧字符串/新字符串}:将所有旧字符串更新为新字符串 变量替换 变量替换一般是指根据变量非空与否将变量值进行替换,记忆方法是当公式中含有:时,则变量不存在与变量为空字符串为空,否则只有变量不存在视为空...,n2: 一般代表选择进行动作行数,$代表最后一行 function: a:新增 c: 替换,会替换n1到n2之间行 d:删除 p:将某个选择数据打印出来 s:替换,可以接正则表达式 sed '...s/要被替换字符串/新字符串/g' cat /etc/passwd | sed -e '4d' -e '6c no six line' #如果要添加多个指令,则必须添加-e 排序 sort sort...,都会询问用户 -n: 后面接次数,要使用几个参数意思 文件格式化处理 awk 主要是处理每一行字段内数据,默认字段分隔符为空格键或tab键 awk '条件类型{动作1}条件类型2{动作2}

1.3K20

【天枢系列 01】Linux行数统计:命令对决,谁才是王者?

-l:仅显示包含匹配项文件名,不显示匹配行。 -v:反转匹配,只显示匹配行。 -c:仅显示匹配行数,不显示具体匹配内容。 -A NUM:显示匹配行及其后面的 NUM 行。...04 Linuxsed命令详细用法 sed(流编辑器)是一个在Linux系统中非常强大文本处理工具,它可以实现对文本进行流式编辑,通常用于文本转换、替换删除、提取等操作。...动作:对应sed要执行操作,替换删除、添加等。 文件名:要处理文件名。 4.2 主要选项 -e:允许在命令行指定多个编辑命令。 -i:直接修改文件内容,不是将结果输出到标准输出。...其中,s 表示替换操作,/g 表示全局替换,即一行中所有匹配都会被替换sed 's/原字符串/新字符串/g' 文件名 2.删除操作 这个命令将文件中匹配到删除。...当使用Perl命令时,有几个注意事项需要牢记: Perl解释器路径: 在某些系统,Perl解释器路径可能不是 /usr/bin/perl,而是其他位置

16310

Linux sed 命令使用

在当前行下面插入文本 i \ 在当前行上面插入文本 c\ 将选定行,改为新文本 D 删除模板块第一行 d 删除选择行 g 获取缓冲区内容,并替换当前模板块中文本 G 。。。。。。。。...y 表示把一个字符翻译为另外字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 元字符集 ^ 匹配行开始,:/^sed/匹配所有以sed开头行。...* 匹配0个或多个字符,:/*sed/匹配所有模板是一个或多个空格后紧跟sed行。 [] 匹配一个指定范围内字符,/[ss]ed/匹配sedSed。...[^] 匹配一个不在指定范围内字符,:/[^A-RT-Z]ed/匹配包含A-R和T-Z一个字母开头,紧跟ed行。...实例: 替换操作 替换文本中字符串 sed 's/StringOriginal/NewString/' filename -n -p 参数,只打印发生变化sed -n 's/StringOriginal

3.1K100

Linux常用操作命令大全「建议收藏」

将会把根目录下所有目录及文件全部删除 删除文件 1.rm 文件名称 删除当前目录下指定文件 2.rm -f 文件文件 删除当前目录下指定文件(询问) 1.3重命名目录或文件名称...,显示更多信息) 4.ls /data 查看指定目录下所有目录和文件(:ls /data) 1.6复制目录或文件 命令:cp -r/cp 目录/文件名称 目录/文件拷贝目标位置...test 替换文本中字符串把book替换为books 10.sed -n 's/test/TEST/p' test...命令 chmod 将修改 who 指定用户类型对文件访问权限,用户类型由一个或者多个字母在 who 位置来说明, who 符号模式表所示: 示例1:将文件 test.txt 设为所有人皆可读取...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

3.1K30

linux修改文件名称 rename_shell重命名文件指令

rename .jpeg.jpg*.jpeg 这样,所有以 .jpeg扩展后缀名全部被修改为 .jpg 现在总结一下rename C语言版本所能实现功能: 批量修改文件名,结果是每个文件会被用相同一个字符串替换掉...rename ‘s/\.bak$//’ *.bak 这个命令很简单,因为我还没有系统学习过perl,我不知道perl里替换字符串是不是这么干,但sed是这么干,所以如果你有sed或者tr基础,很容易明白...,这个替换sed正则语法是一模一样。...2) 把所有文件名内含有大小字母,修改为小写字母。 rename ‘y/A-Z/a-z/’ * 依然和sed替换语法一样,不用多解释,如果看不懂的话,可以系统学习一下sed先。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

4.1K30

Linux命令篇(二):文档编辑部分

后面通常接任何东东 i :插入, i 后面可以接字串,而这些字串会在新一行出现(目前一行) p :打印,亦即将某个选择数据印出。...scriss 6 shell scriss # 这里q是退出命令意思 数据查找与替换sed查找与替换命令与vi类似,格式如下: sed 's/要被取代字串/新字串/g' # s是查找与替换意思...# g标识符代表全局替换意思 sed -e 's/scriss/script/' test.txt # 将test文件中“scriss”字符替换为“script” 在test.txt文件最后一行加入...:] 5、expr 命令 expr命令是一个计算器命令,用于在UNIX/LINUX下求表达式变量值,一般用于整数值,也可用于字符串,基本语法: expr [表达式] 表达式说明 用空格隔开每个项;...用反斜杠 \ 放在 shell 特定字符前面; 对包含空格和其他特殊字符字符串要用引号括起来 举例说明 计算一个字符串“this is linux command” expr length "this

9910

【Linux篇】--sed用法

c\ 把选定行改为新文本。 d 删除删除选择行。 D 删除模板块第一行。 s 替换指定字符 h 拷贝模板块内容到内存中缓冲区。 H 追加模板块内容到内存中缓冲区。...y 表示把一个字符翻译为另外字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 4、sed元字符集 ^ 匹配行开始,:/^sed/匹配所有以sed开头行。...* 匹配0个或多个字符,:/*sed/匹配所有模板是一个或多个空格后紧跟sed行。 [] 匹配一个指定范围内字符,/[ss]ed/匹配sedSed。...[^] 匹配一个不在指定范围内字符,:/[^A-RT-Z]ed/匹配包含A-R和T-Z一个字母开头,紧跟ed行。...三、案例 1、替换文本中字符串sed 's/book/books/' file 2、全面替换 sed 's/book/books/g' file 当需要从第N处匹配开始替换时,可以使用 /Ng:

1.5K20

linux中最为常用三大文本(grep,sed,awk)处理工具

默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中数据 3. sed 与 vi 区别 vi 采用是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除替换数据中文本...d :删除,因为是删除啊,所以 d 后面通常接任何咚咚; i :插入, i 后面可以接字串,而这些字串会在新一行出现(目前一行); p :打印,亦即将某个选择数据印出。...标记 功能 n 1~512 之间数字 表示指定要替换字符串出现第几次时才进行替换,例如,一行中有 6 个 A,但用户只想替换第二个 A,这是就用到这个标记; g 对数据中所有匹配到内容进行替换...转换命令是一个全局命令,也就是说,它会文本行中找到所有指定字符自动进行转换,不会考虑它们出现位置 root@ubuntu-admin-a1:/home/sedTest# sed ‘y/hani/...-n :显示行号   -w :被匹配文本只能是单词,不能是单词中某一部分,文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker   -c :显示总共有多少行被匹配到了

6K10
领券