替换文件中的文本

大小写区分替换:

  

对于替换后出现编码的:

  

尝试模式而非纯文本:

  

替换跨行文本:

  1>没有捕获空白

  

  2> 使用$1捕获空白

  

替换大文件中的文本:

  

一些补充:

  get-content命令将文件的内容分割成多行;

  可以使用[System.Io.File]::ReadAllText()方法将整个文本作为字符串赋给变量

  \s* //匹配0个或多个空格   (?s)  //代表单行模式   $1 //捕获的空白内容
  大文件中的替换:比如几百兆的文件 前面几种会加重内存负担,此时因采用单行读入的方式进行操作

  在单行替换完成进行写入时,文件仍会逐行读取。因此采用临时文件便可解决,

  在文件全部替换完成后,便可删掉之前文件 使用临时文件进行替换

原文地址:https://www.cnblogs.com/feiyucha/p/10036022.html

时间: 2024-08-02 02:20:11

替换文件中的文本的相关文章

python 之文本搜索与替换文件中的文本

1 #!/usr/local/env python 2 import os, sys 3 nargs = len(sys.argv) 4 if not 3 <= nargs <= 5: 5 print "usage: %s search_text replace_text [inputfiel [outputfile]] " % os.path.basename(sys.argv[0]) #友好交互性提示 6 else : 7 stext = sys.argv[1] #获取

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

用grep在文件中搜索文本

搜索包含特定模式的文本行: grep "pattern" filename 也可以像下面从stdin中读取: echo -e "This is a word. \n next line ." |grep word 单个grep命令也可以对多个文件进行搜索: grep "match_text" file1 file2 file3 ... 用--color选项可以在输出行中着重标记匹配到的单词: grep word filename --color=

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

替换文件中的某个内容

#定义要查找的包含某个关键字的行(该关键字不是要替换的内容,比如此处要替换的是行 Hostname=10.4.20.20 中等号后面的内容)$keyword = "Hostname"#定义要替换后的内容$newword = "10.4.20.20"$filepath = "C:\zabbix_agent\conf\zabbix_agentd.win.conf" Function SearchReplace ($keyword,$newword,$

用python 替换文件中的git地址

有个需求要替换文件中git地址,要替换成的git地址是一个变量 本来想用sed替换但是git地址中有斜杠符号 需要转义,提前知道还好弄,如果是变量就不好处理了 #!/usr/bin/python3 # -*- coding: utf-8 -*- #替换git地址 import os git_url = os.environ.get('git_url') git_old = os.environ.get('git_old') f = open('/tmp/oc_export.json','w',e

第十六章 在文件中搜索文本工具:grep命令 和egrep命令

第十六章 在文件中搜索文本工具:grep命令 和egrep命令 名词解释 grep(global search regular expression(RE)and print out the line,全面搜索正则表达式并把行打印出来) grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 选项 - -a :不要忽略二进制数据 - -A <显示行数>:除了显示符合范本样式的那一行之外,并显示该行之后的内容. - -b :在显示符合范本样式的那一行之外,并显示该行

替换文件中的相关单词(一)之文件类型为txt

首先说一下具体的实现思路: 第一步:我们需要获取要修改文件的信息,我们可以通过文件的路径来获取文件的FileInputStream,即文件的输入流,然后调用InputStreamReader读取文件输入流信息,将读入的信息保存到BufferedReader(BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取.)然后通过readLine()函数将流的信息读取出来,这样就完成了第一步,我们能获取到文件的信息了 第二步:能够读取文件的信息了,我们就可以

替换文件中某个字符串并写入新内容(Java代码实现)

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.InputStreamReader; /* * 替换文件(如果该文件含有子目录,则包括子目录所有文件)中某个字符串并写入新内容(J