我有一个包含大量数据的 csv 文件。我希望为值 >=1 剪切第 9 列,然后使用 grep 显示匹配的完整行。
样本格式:
ABC,XYZ,RTY,CREAM,FRANCE,170019,ST REMY CREME,3035540005229,0.75,1,15,26.99,10
ABC,RDS,XSD,SPICE,NETHERLANDS,390476,THE KINGS GINGER,5010493025621,1.5,1,41,49.95,NA
ABC,RMS,DKS,TABLE WINE RED,CHILE,400176,SANTA ISABELA,63657001349,3,1,12.5,31.99,0
Run Code Online (Sandbox Code Playgroud)
我试过
grep . Myfile.csv |cut -d"," -f9 | sort |grep -E "^(1*[1-9][2-9]*(\.[2-9]+)?|1+\.[2-9]*[1-9][2-9]*)$"
Run Code Online (Sandbox Code Playgroud)
但它只显示第 9 列的值,而不是所有列的完整行。
并且
grep $(cut -d"," -f9 Myfile.csv | grep -E "^(1*[1-9][2-9]*(\.[2-9]+)?|1+\.[2-9]*[1-9][2-9]*)$") Myfile.csv
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒。
PS:不能使用 awk (:-