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

使用sed命令批量处理Makefile文件的脚本

前面写了一篇文章《Linux C/C++工程中可生成ELF、动/静态库文件的通用Makefile》,里面的Makefile代码有个不好的地方需要修改。...当编译.cpp文件时,使用的STD_OPT变量仍然是编译.c文件时的参数-std=c99,这个在C++中是不支持的。...1 sed命令的简要说明 由于sed命令可用的参数太多了,这里只列举脚本中用到的几个参数: 1 2 3 sed -i:直接修改文件而不是将处理的结果在屏幕上输出; sed -e:多个操作action按顺序执行...; sed -e '/help:/ a 要追加的内容':表示在help:文字后面追加内容。...#echo "" | awk '{fflush()}' fi done 3 脚本执行结果 如上图所示,脚本不断遍历src目录下的Makefile文件,然后进行处理。

10710
您找到你想要的搜索结果了吗?
是的
没有找到

linux 修改文件内容sed,linux下通过sed命令直接修改文件内容

linux下通过sed命令直接修改文件内容 sed是实现对流的编辑。通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件。...但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。其实很简单,只需要一个-i 参数就可以了。...比如,我想替换文件中的properties 为property ,可以使用sed ‘s/properties/property/g’ build.xml这种方式,其实并没有修改build.xml文件的内容...如果想保存修改,通常的做法就需要重定向到另外的一个文件sed ‘s/properties/property/g’ build.xml > build.xml.tmp这样,build.xml.tmp文件就是修改后的文件...如果想直接修改源文件,而没有这样的过程,可以用下面的命令sed -i ‘s/properties/property/g’ build.xml这样,就直接修改了build.xml文件注:还有一个更简单的方法

6.6K20

linux sed命令使用

、排除指定行输出、非连续行输出、行替换显示,指定行后面添加内容 行数据替换,通配符,指定行范围 直接修改文件内容 ---- -i:直接修改读取文件的内容,而不是由屏幕输出。...-p:打印和sed -n结合使用 ---- sed输出指定行、排除指定行输出、非连续行输出、行替换显示 ---- 输出指定行sed -n 'n1,n2 p',例如2-3行,sed -n '2,3p'...sed 's/$/Z/g' 最后一个字符替换为’Z’ , sed 's/....$/Z/g' 最后一个字符为0-9则替换为’Z’, sed 's/[0-9]$/Z/g' 行首添加’B’, sed ‘s/^/B/g’ 行首添字符0-9替换为’B’, sed ‘s/^[0-9]/B/g...直接修改文件内容 ---- sed -i 's/src/dst/g' filename 例子:将文档的每一句的最后的 . 改为 ! ? 如果转载请在下面留言, 尊重别人的劳动成果!

4.9K20

linux sed命令使用

sed是一款常用的文本处理工具,其名称来自于“stream editor”(流编辑器)。sed能够从标准输入或文件中读取文本,对文本进行编辑和转换,然后将结果输出到标准输出或指定的文件中。...下面是sed命令的详细介绍和使用示例: 命令格式 sed命令的基本格式为: sed [选项] '动作' 文件名 其中,选项用于指定sed的行为,动作则是对文件进行的操作,文件名表示需要处理的文件。...删除操作 sed命令可以用来删除文件中的某些行。删除操作的格式为: sed '行号d' 文件名 其中,d表示删除操作。...追加操作 sed命令可以用来向文件中追加文本。追加操作的格式为: sed '行号a\ 追加的内容 ' 文件名 其中,a表示追加操作。...打印操作 sed命令可以用来打印文件的某些行。打印操作的格式为: sed '行号p' 文件名 其中,p表示打印操作。

3.7K10

如何使用 sed 替换文件中的字符串?

sed 是流编辑器(stream editor)的缩写,它可以对文本进行逐行处理,包括查找和替换特定的字符串。本文将详细介绍如何使用 sed 命令在文件中进行字符串替换操作。...图片安装 sed大多数 Linux 发行版默认安装了 sed 工具,因此您可以直接在终端中使用。如果您的系统上没有安装 sed,您可以使用包管理器来安装它。...如果您想直接在原始文件中进行替换,并将结果保存到原始文件中,可以使用 -i 选项:sed -i 's/原始字符串/替换字符串/g' 文件名替换文件中的字符串现在,让我们来看一些使用 sed 替换文件中字符串的示例...结论使用 sed 命令可以方便地在 Linux 系统中进行文件中字符串的替换操作。您可以根据需要指定替换模式,并使用正则表达式来匹配特定的文本。...通过学习并掌握 sed 命令的基本语法和示例,您可以更加灵活地处理文本文件中的字符串替换任务。希望本文对您理解如何使用 sed 替换文件中的字符串有所帮助!

5K30

Sed命令的基本使用

) 可以使用三个相同的字符来代替’/’,上面的字符串替换等价于s #pattern#ReplaceString#修饰符 特别的可以使用&:表示整个模式匹配到的字符串 修饰符: g:全局替换 i:...匹配时忽略大小写 Options -n:静默模式,不显示模式空间中的内容 -r:使用扩展的正则表达式 -i:直接修改源文件(危险慎重使用) -e 处理 -e 处理:连续进行sed的处理 -f:指定处理脚本...另外可以使用类似sed -f SCRIPTFILE file (将SCRIPTFILE中的每个命令作用在file上) Examples sed ‘1,2d’ /etc/fstab (删除...’ /etc/fstab (在/etc/fstab中的第二行之后追加/etc/issue文件中的内容) sed ‘/oot/w /tmp/oot.txt’ /etc/fstab (将/etc/fstab...文件中的包含oot的行的内容另存到/tmp/oot.txt) sed ‘s#1..e#&r#g’ sed.txt (将sed.txt中的符合l..e模式的字符串全部在后面加上”r”) sed ‘s#

1.1K60

Linux sed 命令的使用

sed是一种流编辑器,配合正则表达式使用sed处理文件之时,把当前处理的文保存在缓冲区,sed命令处理缓冲区的内容,将缓冲区的内容显示在到屏幕上,sed能够对一些重复操作的动作进行简化。.../NewString/p' filename 直接编辑文件选项-i,会匹配filename文件中每一行的第一个StringOringinal替换为NewString: sed -i 's/StringOriginal.../NewString/g' filename 全面替换标记 使用后缀 /g 标记会替换每一行中的所有匹配: sed 's/StringOriginal/NewString' filename 定界符...以上命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符: sed 's:StringFileOriginal:NewStringFile:g' sed 's|StringFileOriginal...|NewString|g' 定界符出现在样式内部时,需要进行转义: sed 's/\/bin/\/usr\/local\/bin/g' 读写文件,追加插入 将 sed '/String/r file

3.1K100

Linux||sed命令使用讲解

处理时,sed 会把要处理的行存储在缓冲区中,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。...用法: sed [参数] 操作 [文件] 常见参数 -n:只显示经过sed处理的行 -e:执行多个命令 -f:执行含有sed命令的文件 -r:支持扩展正则表达式(默认为基础正则表达式) -i:直接修改读取的文件内容...,不输出 命令 -a:新增,在当前行的后一行新增a后面的字符串 -c:替换 -d:删除 -i:插入,在当前行的前一行新增i后面的字符串 -p:打印,将选择的数据打印出来,通常与-n同时使用 -s:替换,...接下来给大家举几个例子,我在test.txt文件中写入了这么3句话 a新增 在第二行后新增有what的一行 sed "2a what" test.txt 在第二行后新增多行what:sed "2a...bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync # 使用

1.1K30

Linux中sed工具的使用

Linux中sed工具的使用 Sed 以行为单位的替换 定界符 / 删除操作:d 多点编辑:-e 从文件读入:r 命令 写入文件:w 命令 插入...Sed sed 是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。...接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。...注:sed命令不对原文件进行改变,除非使用 -i 参数;sed命令是一行一行处理的 sed命令的使用 sed 参数 命令 文件 参数 -f 脚本文件 以选项中指定的脚本文件来处理输入的文本文件.../s/$/TAIL/' ifcfg #在以ONBOOT开头的行尾加 TAIL 相关文章: Linux中awk工具的使用 Linux中grep工具的使用

2.2K10

Linux sed命令的基本使用

-r:使用扩展的正则表达式-f:/path/to/sed_script_file:指定sed脚本文件-e 'script' -e 'script' :指定多个编辑脚本-i:直接修改读取的文件内容,而不是输出到终端...path/to/somefile:将符合条件的所有行保存至指定得文件中= :显示符合条件行的行号例如:# sed -n '/^UUID/=' /etc/fstabs///:查找条件可以使用模式,但要替换的内容不行...=disabled@g' /etc/selinux/config2、删除/etc/init.d/functions文件中的空白行# sed '/^$/d' /etc/init.d/functions3、...删除/etc/inittab文件中位于行首的#号# sed 's@^#@@g' /etc/inittab4、删除/etc/rc.d/rc.sysinit文件夹中以#后跟至少一个空白字符开头的行的行首的#...和空白字符# sed 's@^#[[:space:]]\{1,\}@@g' /etc/rc.d/rc.sysinit5、删除/boot/grub/grub.conf文件中行首的空白字符# sed 's@

70330

使用sed和awk查找和替换字符串处理Makefile文件(二)

在前文中演示了使用awk和sed命令正则查找和替换Makefile文件的匹配内容,这篇文章依然使用这个Makefile文件作为awk和sed命令正则匹配查找、替换和删除操作。...1 功能需求 由于之前在BZ自己CenOS7中的C/C++工程部分Makefile文件在make clean操作时的语句可以优化,也就是可以把-(RM) (ULT_BIN)和-(RM) (ULT_BIN...在for ... in的Makefile文件遍历中,先利用了awk命令的正则匹配查找、替换操作,然后是sed命令执行正则匹配查找、替换以及删除操作。...} done exit 0 3 脚本测试 BZ在虚拟机的/home/vfhky/shell目录复制了5个错误的Makefile文件,然后先做正则查找测试,结果如下图所示: 4 Linux find...命令中正则 在find命令的某个参数使用正则,那么最好对这个对数加上双引号,正如上面的代码"${SEARCH_NAME}"所示,否则会出现下面的错误: find: paths must precede

16510

使用sed和awk查找和替换字符串处理Makefile文件(一)

在《使用sed命令批量处理Makefile文件的脚本》文中使用sed命令对前文中的Makefile文件进行了替换、追加和删除操作,这篇文章通过使用sed和awk命令对该Makefile文件的某个字符串进行正则匹配查找以及替换...1 功能需求 由于之前在BZ自己CenOS7中的C/C++工程部分Makefile文件有问题(CC变量被赋值为CC := g++),所以想写个shell脚本批量把Makefile文件出错的部分全部替换成...在for ... in的Makefile文件遍历中,先利用了awk命令的正则匹配查找、替换操作,然后是sed命令执行正则匹配查找、替换操作。 程序难点应该在于对g++中的+号正则匹配。...sed command...目录复制了5个错误的Makefile文件,然后先做正则查找测试,结果如下图所示: 4 Linux find 命令中正则 在find命令的某个参数使用正则,那么最好对这个对数加上双引号,正如上面的代码"$

13510
领券