【发布时间】:2011-08-07 05:17:30
【问题描述】:
如何删除或解决 sed 中出现的特定字符?
我正在编辑一个 CSV 文件,我想删除第三次和第五次出现逗号之间的所有文本(即删除第 4 和第 5 个字段)。有没有办法使用 sed 来实现这一点?
例如:
% cat myfile
one,two,three,dropthis,dropthat,six,...
% sed -i 's/someregex//' myfile
% cat myfile
one,two,three,,six,...
【问题讨论】:
-
如果你真的有 CSV(例如,逗号分隔符可以用引号保护)那么不,不是没有大量代码,因为正则表达式不足以解析 CSV。
sed作为图灵完备的语言,原则上可以计算任何可计算的函数,但使用真正的解析器要容易得多