Linux下如何删除文件字符串中指定子串及后续指定数量字符?
使用sed删除指定子串及后续固定长度内容
核心命令(新手安全版)
假设你的文件名为users.txt,执行以下命令可将处理后的内容保存到新文件,避免误修改原文件:
sed 's/Betty29.\{25\}//' users.txt > updated_users.txt
命令拆解(帮你理解每部分作用)
sed:Linux下用于文本处理的流编辑器,适合批量修改文本内容s/原内容/替换内容/:sed的替换语法,这里替换内容为空,等同于删除匹配到的原内容Betty29:你要定位的目标用户名子串.\{25\}:匹配任意单个字符(.)并重复25次(\{25\}),对应用户名后的25位信息users.txt:待处理的源文件名> updated_users.txt:将处理后的结果输出到新文件updated_users.txt,原文件保持不变
直接修改原文件(谨慎使用)
如果你确认不需要保留原文件,可以用-i参数直接修改源文件,但建议先备份原文件再操作:
# 先备份原文件 cp users.txt users_backup.txt # 直接修改原文件 sed -i 's/Betty29.\{25\}//' users.txt
示例验证
原文件内容:
Clara01{25 characters of info}Betty29{25 characters of info}Edith34{25 characters of info}Raji11{25 characters of info}
执行命令后,updated_users.txt的内容会变成:
Clara01{25 characters of info}Edith34{25 characters of info}Raji11{25 characters of info}
内容的提问来源于stack exchange,提问作者Toohina Barua
相关产品推荐
相关产品推荐

