ersten 2lines meiner Daten zurückgegeben:Ich möchte nur die letzten 3 Zeichen einer Spalte auf die Originaldatei
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
"2015-10-06","123427","456060","137765","Samsung Korea","Samsung SM-G900I","$39 Plan"
Ich möchte nur die letzten drei Zeichen der Spalte 2 und Spalte 3, I dont Spalte wollen Header betroffen. glücklich für eine Lösung, die column2 zuerst tun und dann Spalte 3 tun kann
Ich fummle mit sed und awk in der Minute, aber habe noch keine Freude.
das ist, was ich will:
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
"2015-10-06","427","060","137765","Samsung Korea","Samsung SM-G900I","$39 Plan"
edit1 das gibt mir die letzten drei Ziffern (+ „), müssen nur diese zurück in die Datei orig schreiben
$ awk -F"," 'NR>1{ print $2}' head_test_real.csv | sed 's/.*\(....\)/\1/'
427"
592"
007"
592"
409"
742"
387"
731"
556"
edit2 das funktioniert, aber ich verliere die Anführungszeichen "123427" geht an 427, ich möchte die Anführungszeichen behalten
* NR> 1 funktioniert auf den Zeilen nach der ersten Zeile.
$ awk -F, 'NR>1{$2=substr($2,length($2)-3,3)}1' OFS=, head_test_real.csv
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
"2015-10-06",427,"456060","137765","Samsung Korea","Samsung SM-G900I","$39 Plan"
EDIT3 @ Mark tks fro richtige Antwort, und hier nur für meinen ref auf den Anführungszeichen.
$ ####csv.QUOTE_ALL
$ cat out.csv
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
"2015-10-06","427","060","137765","Samsung Korea","Samsung SM-G900I","$39 Plan"
$ ####csv.QUOTE_MINIMAL
$ cat out.csv
Rec_Open_Date,MSISDN,IMEI,Data_Volume_Bytes,Device_Manufacturer,Device_Model,Product_Description
2015-10-06,427,060,137765,Samsung Korea,Samsung SM-G900I,$39 Plan
$ ###csv.QUOTE_NONNUMERIC
$ cat out.csv
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
"2015-10-06","427","060","137765","Samsung Korea","Samsung SM-G900I","$39 Plan"
$ ###csv.QUOTE_NONE
$ cat out.csv
Rec_Open_Date,MSISDN,IMEI,Data_Volume_Bytes,Device_Manufacturer,Device_Model,Product_Description
2015-10-06,427,060,137765,Samsung Korea,Samsung SM-G900I,$39 Plan
gute Antwort tks – HattrickNZ
So hält das Muster: Ich posten eine Antwort behauptet 'awk' ist nicht ideal für das Problem, und @EdMorton posts eine elegante Antwort mit' awk'. Ich muss klar damit aufhören, das zu sagen. –