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

使用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命令执行正则匹配查找、替换以及删除操作。...另外,脚本中sed命令通过-e参数先执行正则匹配和替换操作,然后执行正则匹配删除操作。...} done exit 0 3 脚本测试 BZ在虚拟机的/home/vfhky/shell目录复制了5个错误的Makefile文件,然后先做正则查找测试,结果如下图所示: 4 Linux find

26910

使用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 -i "s#^CC := g+\+#CC := gcc#" ${FILE} done exit 0 3 脚本测试 BZ在虚拟机的/home/vfhky/shell...目录复制了5个错误的Makefile文件,然后先做正则查找测试,结果如下图所示: 4 Linux find 命令中正则 在find命令的某个参数使用正则,那么最好对这个对数加上双引号,正如上面的代码"$

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

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

    在前文中演示了使用awk和sed命令正则查找和替换Makefile文件中的make clean操作规则:把-(RM) (ULT_BIN)和-(RM) (ULT_BIN)这两句写成一句-(RM) (ULT_BIN...所以为了批量替换掉虚拟机中项目现有所有的Makefile文件,BZ选择用包含sed和awk命令的shell脚本来处理。...需求2: 每调用gen_excbin或者gen_libs包生成可执行文件或者库文件后(即 @和 @ 需求3: 替换掉原来的(bin).o为(CURDIR)/ 2 shell程序 下面的这份shell脚本比较简单...同前文的脚本框架一样,这里先使用for ... in的Makefile文件遍历中,然后利用了awk命令的正则匹配查找、替换操作,然后是sed命令执行正则匹配查找、替换以及追加操作。...-i '/\ 3 脚本测试 BZ在C/C++工程在/home/vfhky/src,执行这个脚本得到的如下图所示的结果: 4 Linux find 命令中正则 在find命令的某个参数使用正则,那么最好对这个对数加上双引号

    29210

    关于在vim中的查找和替换

    Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。...例如当前为foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。 这在查找函数名、变量名时非常有用。 按下g*即可查找光标所在单词的字符序列,每次出现前后字符无要求。...即foo bar和foobar中的foo均可被匹配到。 5,查找与替换 :s(substitute)命令用来查找和替换字符串。...还有很多其他有用的替换标志: 空替换标志表示只替换从光标位置开始,目标的第一次出现: :%s/foo/bar i表示大小写不敏感查找,I表示大小写敏感: :%s/foo/bar/i # 等效于模式中的\...^E与^Y是光标移动快捷键,参考: Vim中如何快速进行光标移 大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。

    25.6K40

    linux下sed正则表达式匹配批量替换文件中的内容

    sed命令介绍 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响。...处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。...替换hello成world,并打印到屏幕上 sed 's/hello/world/' hello.txt s 表示替换 hello 表示匹配的字母,是正则表达式 world 表示需要替换成的字母...值得注意的是,如果想要回写到文件中(和-i连用),不要只打印当前匹配航,否者只会保存当前匹配行,其他的丢失。...替换文件中的内容,并写到文件里 sed -i 's/o/ABC/' hello.txt 执行结果: 执行cat查看文件内容: ? 可以看到虽然替换了,但是只替换了第一个被匹配的到内容。

    6K10

    在vim和vi中查找和替换字符串

    它预装在macOS和大多数Linux发行版上。在Vim中查找和替换文本非常容易。 基本查找和替换 在Vim中,可以使用:substitute(:s)命令来查找和替换文本。...例如,要在当前行中搜索字符串 foo的第一个匹配项,并将其替换为 bar,则可以使用: :s/foo/bar/ 要替换当前行中所有出现的搜索模式,请添加g标志: :s/foo/bar/g 如果要搜索并替换整个文件中的所有匹配的模式...当你在搜索模式中包含 /字符或替换字符串时,此选项很有用。...你还可以使用正则表达式作为搜索模式。下面的命令将所有以 foo开头的行替换为 Vim is the best: :%s/^foo....例如,要从当前行和接下来的四行开始,用 bar替换每个 foo,请输入: :.,+4s/foo/bar/g 替换整个单词 替代命令将模式查找为字符串,而不是整个单词。

    16.4K21

    vim中优雅地查找和替换

    这篇文章来详细介绍 Vim 中查找相关的设置和使用方法。包括查找与替换、查找光标所在词、高亮前景/背景色、切换高亮状态、大小写敏感查找等。...Vim查找支持正则表达式,例如/vim匹配行尾的"vim"。需要查找特殊字符需要转义,例如/vim\ 注意查找回车应当用\n,而替换为回车应当用\r(相当于)。...即foo bar和foobar中的foo均可被匹配到。 其他设置 :set incsearch 可以在敲键的同时搜索,按下回车把移动光标移动到匹配的词;按下 Esc 取消搜索。...:set wrapscan 用来设置到文件尾部后是否重新从文件头开始搜索。 查找与替换 :s(substitute)命令用来查找和替换字符串。...按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。^E与^Y是光标移动快捷键,参考:Vim中如何快速进行光标移动。

    3.5K20

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

    在 Linux 系统中,sed 是一个非常有用的文本处理工具,它可以用于在文件中进行字符串替换操作。...sed 是流编辑器(stream editor)的缩写,它可以对文本进行逐行处理,包括查找和替换特定的字符串。本文将详细介绍如何使用 sed 命令在文件中进行字符串替换操作。...使用正则表达式在 sed 命令中,您还可以使用正则表达式来指定匹配模式。...结论使用 sed 命令可以方便地在 Linux 系统中进行文件中字符串的替换操作。您可以根据需要指定替换模式,并使用正则表达式来匹配特定的文本。...通过学习并掌握 sed 命令的基本语法和示例,您可以更加灵活地处理文本文件中的字符串替换任务。希望本文对您理解如何使用 sed 替换文件中的字符串有所帮助!

    5.5K30

    Aptana与Editplus中查找并替换的正则表达式应用

    平时编写JavaScript,我用的最多的就是Aptana与Editplus 复杂、多人协作的时候会使用Aptana,简单、单个作战的时候通常会选用Editplus,而在开发过程中或多或少需要用到正则表达式去替换一些字符串...span>类似的结构,并进行一些处理,思路: 1、查找到需要匹配的字符串 2、对匹配的字符串进行一些替换操作 问题: 如何编写查找此类字符串的正则表达式?...在替换处可以使用你需要替换的规则,其中$0表示参与匹配正则表达式的字符串,$1…为最近使用()捕获的分组字符串 而在Editplus中,它对使用正则表达式进行查找和替换仅支持有限的正则量词(详细可自行搜索...), 所以Editplus中的正则表达式需要进行一些变换了,但很遗憾,没有找到如何在Editplus中使用正则表达式的反向引用,需要准确来讲,此时Editplus不能满足需求。...总结: 1、对反向引用的支持,Aptana支持,使用\1、\2,而Editplus不支持 2、获取捕获的分组,Aptana使用$0,$1、$2…,而Editplus使用的是\0,\1、\2 3、查找并替换的快捷键

    1.2K30

    Linux批量替换某种类型文件中的字符串-sed和grep命令使用

    今天在修改rpm打包的spec配置文件时,遇到一个问题就是:需要将100个左右源代码中的spec配置文件中的Release一行中的发布版本号使用宏变量%{_release}进行替换。    ...如果要手工修改需要修改100多次,但是使用sed和grep命令很简单: sed -i "s/Release: 1/Release: %{_release}/g" 'grep Release:...Linux下批量替换多个文件中的字符串的简单方法。 用sed命令可以批量替换多个文件中的字符串。...大小多少 -rl /usr/aa` sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./` 参考了这两篇文章: 1、Linux批量替换多个文件中字符串 Linux批量替换多个文件中字符串...2、Linux shell 批量替换多个文件中字符串 Linux shell 批量替换多个文件中字符串 接 3、SED与AWK学习笔记 SED与AWK学习笔记

    5.8K20

    Rdfind - 在Linux中查找重复文件

    背景 前段时间遇到一个问题,服务器下面一个文件夹下面的图片越来越多,由原来的5G,达到了现在的94G,其中这个文件夹下面有好多重复的图片,文件多了之后造成图片备份困难,图片迁移困难,浪费了大量的空间和IO...在本文中将介绍rdfind命令工具在linux中查找和删除重复的文件,使用之前请先在测试环境跑通并对测试环境进行严格的测试,测试通过之后再在生产环境进行操作,以免造成重要文件的丢失,数据是无价的。...Rdfind来自冗余数据查找,用于在多个目录或者多个文件中查找重复的文件,它使用校对和并根据文件查找重复项不仅包含名称。 Rdfind使用算法对文件进行分类,并检测那些是重复文件,那些是文件副本。...你可以在 results.txt 文件中看到可能是重复文件的名字。 通过检查 results.txt 文件,你可以很容易的找到那些重复文件。如果愿意你可以手动的删除它们。...删除重复文件,就运行: [root@ds Image]# rdfind -deleteduplicates true /Image [root@ds Image]# 如果你不想忽略空文件,并且和所哟重复文件一起删除

    5.3K60

    使用 Ruby 或 Python 在文件中查找

    对于经常使用爬虫的我来说,在大多数文本编辑器都会有“在文件中查找”功能,主要是方便快捷的查找自己说需要的内容,那我有咩有可能用Ruby 或 Python实现类似的查找功能?这些功能又能怎么实现?...问题背景许多流行的文本编辑器都具有“在文件中查找”功能,该功能可以在一个对话框中打开,其中包含以下选项:查找: 指定要查找的文本。文件筛选器: 指定要搜索的文件类型。开始位置: 指定要开始搜索的目录。...报告: 指定要显示的结果类型,例如文件名、文件计数或两者兼有。方法: 指定要使用的搜索方法,例如正则表达式或纯文本搜索。...regex_search:指定是否使用正则表达式进行搜索。脚本将返回一个包含所有匹配文件的文件名列表,或者如果指定了报告文件名选项,则返回一个包含所有匹配文件的文件名和行号的列表。...上面就是两种语实现在文件中查找的具体代码,其实看着也不算太复杂,只要好好的去琢磨,遇到的问题也都轻而易举的解决,如果在使用中有任何问题,可以留言讨论。

    9910

    如何使用find和locate 命令在Linux 中查找文件和目录?

    我们在使用Linux的时候,难免要在系统中查找某个文件,比如查找xxx配置文件在哪个路径下、查找xxx格式的文件有哪些等等。...使用 find 命令在 Linux 中查找文件和目录 按名称查找文件 按部分名称查找文件 按大小查找文件 使用时间戳查找文件 按所有者查找文件 按权限查找文件 按名称查找目录 使用 locate 命令在...1使用 find 命令在 Linux 中查找文件和目录 Linux find 命令是一个强大的工具,它使系统管理员能够根据模糊的搜索条件定位和管理文件和目录,它支持按文件、文件夹、名称、创建日期、修改日期...find 命令用于查找文件和目录并对其进行后续操作,它递归地搜索每个路径中的文件和目录,因此,当find命令遇到给定路径中的目录时,它会在其中查找其他文件和目录。...查找/opt目录下名字为app的文件夹: find /opt -type d -name app 3使用 locate 命令在 Linux 中查找文件和目录 虽然 find 是Linux 中最流行和最强大的用于文件搜索的命令行实用程序之一

    5.8K10

    如何使用find和locate 命令在Linux 中查找文件和目录?

    我们在使用Linux的时候,难免要在系统中查找某个文件,比如查找xxx配置文件在哪个路径下、查找xxx格式的文件有哪些等等。...使用 find 命令在 Linux 中查找文件和目录 Linux find 命令是一个强大的工具,它使系统管理员能够根据模糊的搜索条件定位和管理文件和目录,它支持按文件、文件夹、名称、创建日期、修改日期...find 命令用于查找文件和目录并对其进行后续操作,它递归地搜索每个路径中的文件和目录,因此,当find命令遇到给定路径中的目录时,它会在其中查找其他文件和目录。...按部分名称查找文件 您可以使用文件名元字符,例如星号 *,但您应该在每个字符前放置一个转义字符\ 或将它们括在引号中。...查找/opt目录下名字为app的文件夹: find /opt -type d -name app 使用 locate 命令在 Linux 中查找文件和目录 虽然 find 是Linux 中最流行和最强大的用于文件搜索的命令行实用程序之一

    7K00

    Linux常用命令09 - sed

    在处理文本文件时,通常需要在一个或多个文件中查找和替换文本字符串。 sed 是一个流编辑器。 它可以对文件和输入流(如管道)执行基本的文本操作。...使用 sed,您可以搜索、查找和替换、插入和删除单词和行。 它支持基本的和扩展的正则表达式,允许您匹配复杂的模式。 接下来, 我将使用 sed 查找和替换字符串。...让我看一些示例,说明如何使用 sed 命令搜索文件中的文本,并使用其中一些最常用的选项和标志替换文件中的文本。...: ls file.txt file.txt.bak 递归查找和替换 有时,您希望递归地搜索目录中包含字符串的文件,并替换所有文件中的字符串。...sed: grep -rlZ 'foo' . | xargs -0 sed -i.bak 's/foo/bar/g' 小结 虽然它看起来复杂和复杂,但实际上,用 sed 在文件中搜索和替换文本非常简单

    2.1K30

    实践|Linux 中查找和删除重复文件

    在本教程中,您将学习如何使用 rdfind、fdupes 和 rmlint 命令行工具以及使用名为 DupeGuru 和 FSlint 的 GUI 工具在 Linux 中查找和删除重复文件。...如果您使用新工具,请首先在测试目录中尝试,在该目录中删除文件不会出现问题。...Rdfind – 在 Linux 中查找重复文件 Rdfind 来自冗余数据查找,它是一个免费的命令行工具,用于跨多个目录或多个目录内查找重复文件。...$ fdupes -help Rmlint – 删除重复文件 Rmlint 是一个命令行工具,用于在 Linux 系统中查找和删除重复的和类似 lint 的文件。...Linux 中查找重复文件 dupeGuru 是一个开源、跨平台的工具,可用于查找 Linux 系统中的重复文件。

    32620

    在系统中查找重复文件(哈希)

    题目 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。 一组重复的文件至少包括二个具有完全相同内容的文件。...输入列表中的单个目录信息字符串的格式如下: "root/d1/d2/......您可以假设目录名、文件名和文件内容只有字母和数字,并且文件内容的长度在 [1,50] 的范围内。 给定的文件数量在 [1,20000] 个范围内。...您可以假设在同一目录中没有任何文件或目录共享相同的名称。 您可以假设每个给定的目录信息代表一个唯一的目录。目录路径和文件信息用一个空格分隔。...如果每次只能读取 1 kb 的文件,您将如何修改解决方案? 修改后的解决方案的时间复杂度是多少? 其中最耗时的部分和消耗内存的部分是什么?如何优化? 如何确保您发现的重复文件不是误报?

    1.5K10
    领券