首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >csv文件将两个字符串替换为三个字符

csv文件将两个字符串替换为三个字符
EN

Stack Overflow用户
提问于 2013-01-23 23:55:44
回答 4查看 2.2K关注 0票数 0

我想用其他字符串替换少数字符串(例如使用shell命令在大型csv文件的第一列中添加"GG“和"GGX”、"GG“和"GGX”、"FG“和"FGX”等)。

我知道我需要这样的东西

big.csv shell_commands big.csv

但是我不知道awk或者sed

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-23 23:58:37

使用sed,将big.csv中的所有"GG“实例替换为"GGX”将如下所示:

代码语言:javascript
复制
sed 's/^GG/GGX/g' big.csv >big_translated.csv

如果需要替换多个模式,可以在sed中使用多个用分号分隔的replace命令。

代码语言:javascript
复制
sed 's/^GG/GGX/g; s/^FG/FGX/g' big.csv >big_translated.csv

^字符表示行的开始,并确保我们只编辑csv的第一个字段。

票数 0
EN

Stack Overflow用户

发布于 2013-01-24 03:37:20

代码语言:javascript
复制
awk 'BEGIN{ r["GG"] = "GGX"; r["FG"] = "FGX" } 
    { for( k in r ) if( gsub( k, r[k], $1 ) break } 1' input-file

中断的存在是为了防止多次替换。

票数 0
EN

Stack Overflow用户

发布于 2013-01-24 14:26:30

试试这个(假设你有一次出现的字符串)

awk '{sub("GG","GGX",$0); sub("FG","FGX",$0); print}' temp.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14483771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档