我想从文件中删除一组字符。 示例文件如下。我想删除' - '之前的字符。 (包括' - ')在第8列(separator =',')。 样本文件:
aa,bb,cc,dd,ff,rr,dd,ff-gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,ff-gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,ff-gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,ff-gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,ff-gjgj,dd,dd,dd
输出文件应如下所示:
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
答案 0 :(得分:4)
您可以使用此awk命令:
awk 'BEGIN{FS=OFS=","} {sub(/^[^-]*-/, "", $8)} 1' file
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd
aa,bb,cc,dd,ff,rr,dd,gjgj,dd,dd,dd