You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Bash精准删除文件中的Cl.且不删除Cl?

精准删除Cl.字符串但保留Cl的Bash命令方案

需求概述

需要在文本文件中精准删除Cl.字符串,同时保留未跟.的Cl。

输入示例

Cl.CCC(N)(CC)C(=O)NC(CC(=O)O)c1ccccc1
CC(C)c1ncc(Cl)c(n1)C(=O)NCC(=O)O

期望输出

CCC(N)(CC)C(=O)NC(CC(=O)O)c1ccccc1
CC(C)c1ncc(Cl)c(n1)C(=O)NCC(=O)O

问题分析

之前尝试的sed 's/[Cl.]//g'会把C、l、.三个字符单独删除,导致Cl被误删;sed 's/\Cl.//g'的转义方式错误,\C属于无效正则写法,无法精准匹配目标字符串。

可行方案

1. 使用sed命令

精准匹配Cl.(需转义.,因为.在正则中代表任意字符),全局替换为空:

sed 's/Cl\.//g' input.txt

若需原地修改文件,Linux系统添加-i参数:

sed -i 's/Cl\.//g' yourfile.txt

macOS系统需加空参数:

sed -i '' 's/Cl\.//g' yourfile.txt

2. 使用awk命令

通过gsub函数全局替换目标字符串:

awk '{gsub(/Cl\./, "")}1' input.txt

内容的提问来源于stack exchange,提问作者BRUNO DI GERONIMO QUINTERO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:53:20