我想執行一個簡單的 bash 腳本。要求如下:
- 資料的分隔符為 csv (,)
- 列不一致
- 如果前一列資料是“login_success”,我想插入一列“NA”
資料如下:
2022.01.26,00:37:08,login_success,BASIC_LOGIN,abc 2022.01.26,00:37:09,login_failed,User_not_authenticated,BASIC_LOGIN, 2022.01.26,00:37:09,login_success,TOKEN_LOGIN,xyz 2022.01.26, 00:37:09,login_success,BASIC_LOGIN,123 2022.01.26,00:37:10,login_success,TOKEN_LOGIN,abc123 2022.01.26,00:37:11,login_success,BASIC_LOGIN,xyz123 2022.01.26,00:37:11 ,login_success,TOKEN_LOGIN,abc 2022.01.26,00:37:11,login_success,BASIC_LOGIN,xyz 2022.01.26,00:37:11,login_success,TOKEN_LOGIN,123 2022.01.26,00:37:12,login_success,BASIC_LOGIN, pqr 2022.01.26,00:37:13,login_failed,Token_does_not_exist,TOKEN_LOGIN, 2022.01.26,00:37:13,login_success,BASIC_LOGIN,abc123 2022.01.26,00:37:14,login_success,TOKEN_0220,xyz2623. ,00:37:14,login_success,TOKEN_LOGIN,pqr123
期望的輸出:
2022.01.26,00:37:08,login_success,NA,BASIC_LOGIN,abc 2022.01.26,00:37:09,login_failed,User_not_authenticated,BASIC_LOGIN, 2022.01.26,00:37:09,login_success,NA,TOKEN_LOGIN,xyz 2022.01.26,00:37:09,login_success,NA,BASIC_LOGIN,123 2022.01.26,00:37:10,login_success,NA,TOKEN_LOGIN,abc123 2022.01.26,00:37:11,login_success,NA,BASIC_LOGIN, xyz123 2022.01.26,00:37:11,login_success,NA,TOKEN_LOGIN,abc 2022.01.26,00:37:11,login_success,NA,BASIC_LOGIN,xyz 2022.01.26,00:37:11,login_success,NA,TOKEN_LOGIN ,123 2022.01.26,00:37:12,login_success,NA,BASIC_LOGIN,pqr 2022.01.26,00:37:13,login_failed,Token_does_not_exist,TOKEN_LOGIN, 2022.01.26,00:37:13,login_success,NA,BASIC_LOGIN ,abc123 2022.01.26,00:37:14,login_success,NA,TOKEN_LOGIN,xyz123 2022.01.26,00:37:14,login_success,NA,TOKEN_LOGIN,pqr123
uj5u.com熱心網友回復:
像這樣的東西
sed 's/\(,login_success\),/\1,NA,/g' file.csv
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/422214.html
標籤:
