我有數據格式CSV文件,如以下:多個值文件
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|SOCIAL|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|EMAIL|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|STREAMING|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|WEB|||10180|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|IM_AND_VOIP|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|DEFAULT|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|TUNNELING|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|FREETRAFFIC|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
201212998474|201212998474|99|20140911092720|1410427640|Sy-module-1.PTS-DR1.mobinil.net;1410427618;0;10.56.201.79|2001|||0|||||mobinildpi|ALWAYS_ON|||0|DIAMETER_LOGOUT||0,0,0,5634026,|201212998474NonRoaming,201212998474_2190_MONTHLY_1GB_20LE,201212998474_7702_Unlimited_CAP,201212998474_7702_POST_FUP_USAGE,|10||T|1|||||
我需要在第22列中提取4個值中的每個,並獲得第一讀數和之間的差最後閱讀他們每個人的列。 我試圖驗證碼:
awk -F "|" '{
if (length(msisdn[$1] == 0)) {
msisdn[$1] = $6 ;
counter[$1] = $22 ; }
last[$1] = $22 ;
type[$1] = $23 ;
} END { for (i in msisdn) { print i " : " msisdn[i] " : " type[i] " : " (counter [i]-last[i]) ; }}' 201409* > counters.txt
,但它給了我希望的出來僅列第一個值。 預期的輸出應該是這樣的:
201274971010 : Sy-ptsd-3.module-3.PTS1-DRC.mobinil.net;1410748407;0;10.215.43.213 : 201274971010NonRoaming,201274971010_2190_MONTHLY_1GB_20LE, : 0 , 320
201202999478 : Sy-ptsd-3.module-8.PTS3-DRC.mobinil.net;1410753394;0;10.141.241.65 : 201202999478NonRoaming,201202999478_2190_MONTHLY_1GB_20LE, : 0 , 150
這是不是很清楚你要在這裏做什麼。你可以嘗試更清楚地解釋嗎?列如何分組? 6美元和23美元的意義何在?也許你可以減少問題中的列數,因爲它們中的許多與問題無關。 – 2014-10-12 12:16:20