我正在尝试使用awk命令-nawk -F“,”'{if($ 42!=“ FALSE”){print $ 0}}'OFS =“,”文件删除带有“ FALSE”的记录在第42个字段中。但这不能产生理想的结果,可能是因为数据中还有其他逗号用双引号引起来[例如“((2024/09/03 3341780.0000 ILU,2024/12/02 3347240.0000 ILU)”]。我该如何克服这个问题?
数据文件中的样本记录:
,X24217,:X24217,MOU,08/12 / 2004,02 / 12/2024,:MOUsILUMOU1dMid,“((2024/09/03 3341780.0000 ILU,2024/12/02 3347240.0000 ILU)” ,,,: MOUsMOU1dMid,“((2024/09/03 2600000.0000 MOU,2024/12/02 2600000.0000 MOU)” ,,, :: ABC Eurex,IOOF,X24217,85647,85,TRUE ,, FALSE,DUPES_BOOK ,,,,,, ,,,,, TRUE ,, 5200000,IR-Eurex-SI,TRUE
任何克服此问题的想法都受到高度赞赏。我使用nawk来避免awk中的“记录长度太长”问题。