我在文本檔案中有一個很長的字串。
它基本上是下面的字串重復了大約 1000 次(作為一個長字串,而不是 1000 個字串)。
該字串具有隨每次重復而變化的變數(以粗體顯示的變數)。
我想以自動方式提取變數,并將輸出回傳到 CSV 或格式化的 txt 檔案(隨機銀行、隨機率、隨機產品)
我可以使用https://regex101.com成功地做到這一點,但是它涉及大量的手動復制和粘貼。
我想撰寫一個 bash 腳本來自動提取資訊,但在嘗試各種 grep 命令時沒有運氣。
如何才能做到這一點?(我也會考慮用 Java 做)。
[{"AccountName":"隨機產品","AccountType":"Variable","AccountTypeId":1,"AER":隨機率,"CanManageByMobileApp":false,"CanManageByPost":true,"CanManageByTelephone":true, "CanManageInBranch":false,"CanManageOnline":true,"CanOpenByMobileApp":false,"CanOpenByPost":false,"CanOpenByTelephone":false,"CanOpenInBranch":false,"CanOpenOnline":true,"Company":"隨機銀行" ,"Id":"S9701Monthly","InterestPaidFrequency":"Monthly"
uj5u.com熱心網友回復:
這是 JSON 格式的資料,您無法使用正則運算式引擎進行決議。獲取 JSON 決議器。如果這個檔案大于,比如說,1GB,找到一個可以讓你“流式傳輸”的檔案(這是決議它并在決議時處理資料的術語,而不是更常見的將整個輸入轉換為物件的路徑;如果檔案很大,則該物件會很大,可能會耗盡記憶體-因此您需要流方面)。
這是 Jackson-streaming 的一個教程。
uj5u.com熱心網友回復:
您的模式似乎很簡單,無需使用 JSON 決議器:
grep -Po '(?<=":")Random (\\\\|\\"|[^"])*'
輸出:
Random Product
Random Rate
Random Bank
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/420212.html
標籤:
上一篇:Linux腳本Ftp
