首页
学习
活动
专区
工具
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与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/.*[:空格(引用信息) sed 's/^/> /' # 将每一行开头处的尖括号和空格删除

5.5K30
  • 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的文本处理工具浅谈-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.6K41

    常用 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.5K10

    一文掌握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 # 将文件中的 /所在的行直接删除(也就是#!

    4.1K01

    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

    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命令来实现。

    8.1K81

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

    21110

    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.2K30

    Linux sed 命令的使用

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

    3.2K100

    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.2K30

    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 :显示总共有多少行被匹配到了

    6.1K10

    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

    12510
    领券