簡體   English   中英

刪除CSV文件中帶有bash中列條件的行

[英]Delete lines in CSV file with a column condition in bash

我有一個很大的CSV文件(5Go)。 標頭是:

run number,export,downerQ,coefUpQuality,chooseMode,demandF,nbPLots,standarDevPop,nbCitys,whatWord,priceMaxWineF,marketColor,[step],giniIndexReserve,giniIndexPatch,meanQualityTotal,meanQualityMountain,meanQualityPlain,DiffExtCentral,nbcentralPlots,meanPatchByNetwork,sum_q_viti_moutain,sum_q_viti_plaine
"3","false","0.5","0.01","false","7000","10","2","10","0","70","false","0","0","0.07083333333333335","0","0","0","0","0","0","48","0"
"4","false","0.5","0.01","false","7000","10","2","10","0","70","false","0","0","0.04285714285714286","0","0","0","0","0","0","42","0"
"2","false","0.5","0.01","false","7000","10","2","10","0","70","false","0","0","0.05348837209302328","0","0","0","0","0","0","43","0"

我只想在字段[step](第13個字段)中保留包含“ 500”的行。

  • 我試圖在sqlite中導入此CSV ...但是刪除崩潰...
  • R也崩潰(即使從data.table讀取)

有人使用sedawk或其他任何命令提供解決方案嗎?

awk似乎要走的路:

awk -F, 'NR == 1 || $13 == "\"500\""' filename

NR == 1是為了保留第一行(標題),此后僅保留第13個字段為"500"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM