sed 如何替换指定位置字符串 ?

一条记录包含25个以'|'分隔的字段,要求替换第20个字段的值。例如:aaa|aff|.....|YY|ad|fad|,要求将第20个字段的值"YY"替换为"QQ",请高... 一条记录包含25个以'|' 分隔的字段,要求替换第20个字段的值。
例如:aaa|aff| ..... | YY| ad|fad|, 要求将第20个字段的值"YY"替换为"QQ", 请高手看看如何实现,谢谢~~
展开
 我来答
小米飞猫
2013-05-12 · 专注于IT监控领域技术
小米飞猫
采纳数:1651 获赞数:4811

向TA提问 私信TA
展开全部
awk 'BEGIN{FS=OFS="|"}{sub(/YY/,"QQ",$20)}1' file
追问
awk我知道怎么实现,主要是awk处理速度比sed慢太多了,请教一下sed该怎么实现呢? 谢谢~~
追答

举个例子 file 内容:

AA|BB|CC|DD|DD|EE|FF

我要替换第5个|后边的内容

sed 's/[^|]\+/YY/5' file

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式