рдХрд▓ рдПрдХ рджреЛрд╕реНрдд рдмрджрд▓ рдЧрдпрд╛, рдирдП рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрди рдХреЗ рддрд╣рдд рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ
WM6 рдореЗрдВ рд╕рдВрдкрд░реНрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдПрдХ рд╣рдлреНрддреЗ рдХреЗ рдирд┐рд░рд░реНрдердХ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдиреАрдЪреЗ рдХрд┐рдпрд╛ рдФрд░ рдЖрдЙрдЯрд▓реБрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ
рд╕реАрдПрд╕рд╡реА-рдлрд╛рдЗрд▓ рдХреЛ рд╕реМрдВрдк рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд╣ рдмрд╕ рдПрдХ рдлреЛрди рдиреЛрдЯрдмреБрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрдИ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдФрд░ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдиреЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдП - рджреЛ рдХреНрд▓рд┐рдХ рдореЗрдВ рддреНрд╡рд░рд┐рдд рдФрд░ рдореБрдлреНрдд рд░реВрдкрд╛рдВрддрд░рдг, рдпрд╛ рдЖрдЙрдЯрд▓реБрдХ рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рдШреБрдВрдШрд░рд╛рд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд╛рд░рдг рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╡рд┐рдХреГрдд рдХрд░ рджрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдзрд╛рд░реНрдорд┐рдХ рдФрд░ рд░рд╛рдЬрдиреАрддрд┐рдХ рдХрд╛рд░рдгреЛрдВ, рдЖрдВрддрд░рд┐рдХ рдиреИрддрд┐рдХрддрд╛ рдпрд╛ рдЬреАрд╡рдирд╢реИрд▓реА рдХреЗ рд╣реБрдХреНрдо рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдореИрдВрдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛редрдирддреАрдЬрддрди, рдереЛрдбрд╝рд╛ рдЧреЛрдЧреНрд▓рд┐рдВрдЧ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдвреВрдВрдврдиреЗ рдкрд░, рдореБрдЭреЗ
рдорд╣рд╛рди рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдХ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЦрд░рдкрддрд╡рд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рд╕рдВрдкрд░реНрдХреЛрдВ
рдХреА рдПрдХ
рд╡реАрд╕реАрдПрдл-рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдорд╛рдирдХ рдлреЛрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдбреЗрдЯрд╛
рдЕрд╕рд▓ рдореЗрдВ, рдЬреЛ рдореБрдЭреЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рд╕реАрдПрд╕рд╡реА
рдПрдХ CSV рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╕рд╛рджрд╛ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рднреАрддрд░ рдХреЗ рд╕реНрддрдВрднреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЯреИрдм, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо, рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЖрджрд┐ рд╣реЛрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдХреНрд╕рд░ рдбреЗрдЯрд╛ рдорд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝реАрд▓реНрдб рдирд╛рдо рд╣реЛрддреЗ рд╣реИрдВред
рдЖрдЙрдЯрд▓реБрдХ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╕рднреА рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд░ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдк рдХреА рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реИрдЙрдкрдЪрд╛рд░; рдкрд╣рд▓рд╛ рдирд╛рдо; Otestvo; рдЙрдкрдирд╛рдо; рдкреНрд░рддреНрдпрдп; рд╕рдВрдЧрдарди; рдбрд┐рд╡реАрдЬрди; рдХрд╛рд░реНрдпрд╛рд▓рдп; Ulitsarabadres; 2rabadres рд╕рдбрд╝рдХ; Ulitsa3rabadres; Gorodrabadres; Oblastrabadres; Indeksrabadres; Stranarabadres; рд╕рдбрд╝рдХ рдХрд╛ рдкрддрд╛; рд╕реНрдЯреНрд░реАрдЯ 2 рдШрд░ рдХрд╛ рдкрддрд╛; рдЧрд▓реА 3 рдШрд░ рдХрд╛ рдкрддрд╛; рд╢рд╣рд░ рдХрд╛ рдкрддрд╛; рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкрддрд╛ рдкрд╕реАрдирд╛ рдХреБрдЯреАрд░; Stranadomadres; рджреВрд╕рд░реЗ рдкрддреЗ рдХреА рд╕рдбрд╝рдХ; рд╕реНрдЯреНрд░реАрдЯ 2 рдПрдХ рдФрд░ рдкрддрд╛ рд╣реИ; рд╕реНрдЯреНрд░реАрдЯ 3 рдПрдХ рдФрд░ рдкрддрд╛ рд╣реИ; рджреВрд╕рд░реЗ рдкрддреЗ рдХрд╛ рд╢рд╣рд░; рджреВрд╕рд░реЗ рдкрддреЗ рдХрд╛ рдХреНрд╖реЗрддреНрд░; рдЕрдиреНрдп рдкрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ; рджреЗрд╢ рдХрд╛ рджреВрд╕рд░рд╛ рдкрддрд╛; рд╣реЗрд▓реНрдкрд░ рдлреЛрди Raboiyfaks; рдХрд╛рдо рдлрд╝реЛрди; Telefonrab2; Obratnyyvyzov; рдПрдХ рдХрд╛рд░ рдореЗрдВ рдЯреЗрд▓реАрдлреЛрди; рдореБрдЦреНрдп рдЯреЗрд▓реАрдлреЛрди рдХрдВрдкрдиреА; Domashniyfaks; рдШрд░ рдХрд╛ рдЯреЗрд▓реАрдлреЛрди Telephony2; рдЖрдИрдПрд╕рдбреАрдПрди; Telefonperenosnoy; Drugoyfaks; рдПрдХ рдФрд░ рдлреЛрди рдкреЗрдЬрд░; рдкреНрд░рд╛рдердорд┐рдХ рдлреЛрди рд░реЗрдбрд┐рдпреЛ-рдЯреЗрд▓реАрдлреЛрди; рдЯреЗрд▓реЗрдЯрд╛рдЗрдк рдЯреЗрд▓реАрдлреЛрдиреА рдЯреЗрд▓реЗрдХреНрд╕; рдорд╣рддреНрд╡; рдореБрдЦрдкреГрд╖реНрда; рд╕рд╛рд▓рдЧрд┐рд░рд╣; рдЬрдиреНрдорджрд┐рди; рдмрдЪреНрдЪреЛрдВ; рд╣реЗрд▓реНрдкрд░ рдХрд╛ рдирд╛рдо рдирд╛рдо рдХреЗ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░; рд╢реНрд░реЗрдгреА; Klyuevyeslova; рд╕рдВрдЧрдарди рдХреЛрдб Linyykod; рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛; рдкреЙрд▓; user1; user2; user3; User4; рдирд┐рд╢рд╛рди; рдкрд╕реАрдирд╛ рдмреЙрдХреНрд╕ рдкрд╕реАрдирд╛ рдмреЙрдХреНрд╕ рдЕрдиреНрдп рдкрддрд╛; рдкрд╕реАрдирд╛ рдмреЙрдХреНрд╕; рдкреЗрд╢реЗ; рд╕реНрдерд╛рди; рдХрдорд░реЗ рдХрд╛ рд╕реНрдерд╛рди; рджреВрд░реА; рд╕рд┐рд░; рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╣реБрдВрдЪ рдХреА рдЬрд╛рдирдХрд╛рд░реА; рд╕рд░реНрд╡рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрддрд┐ рдпрд╛ рдкрддреНрдиреА; рд╕реЗрда; рд╕реЗрда; рд╢реМрдХ; Adreselpoty; Tipelpoty; Kratkoeimyaelpoty; Adres2elpoty; Tip2elpoty; Kratkoe2imyaelpoty; Adres3elpoty; Tip3elpoty; Kratkoe3imyaelpoty; рднрд╛рд╖рд╛ [CRLF]
; рд╢реНрд░реЗрдп ;; рдордзреБрдордХреНрдЦреА рд░реЗрдЦрд╛ рдЦрд╛рддрд╛ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; рд╕рд╛рдорд╛рдиреНрдп ;;;;; K.BLред; рд╕реЗрд╡рд╛ ;;;;; рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ ;;;;; рд╕рд╛рдорд╛рдиреНрдп ;;;;;;;;;;;; FALSE ;;;;;;;;;; [CRLF]
рдЕрдиреНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ
vCard
рдпрд╣ рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдб рдкреНрд░рд╛рд░реВрдк рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрди рдореЗрдВ, рдпрд╣ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд╛ рдореБрдЦреНрдп рдкреНрд░рд╛рд░реВрдк рд╣реИред рдпрджрд┐ рдЖрдк рдореЗрд▓ рдпрд╛ рдПрд╕рдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрд░реНрдХ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдлреЛрди рдПрдХ vcf рдХрд╛рд░реНрдб рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдЧрд╛ред рдкреНрд░рд╛рд░реВрдк рдХреА рд╕реБрдВрджрд░рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдХрд╛рд░реНрдб (рдлрд╝рд╛рдЗрд▓) рдореЗрдВ рдХрдИ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИBEGIN: VCARD
рд╕рдВрд╕реНрдХрд░рдг: 3.0
рд╢реНрд░реЗрдгреА: рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ
рдПрди: рдмреА рд▓рд╛рдЗрди рдЦрд╛рддрд╛; рд╢реНрд░реЗрдп
TEL; TYPE = рд╕реЗрд▓: 067404
TEL; TYPE = рдШрд░: 067404
END: VCARD
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдирд╡рд░реНрдЯрд░
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд╕рд░рд▓, рд╣рд▓реНрдХреЗ, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ
awk epithets рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕реАрдПрд╕рд╡реА рдХреЗ рдЕрдВрджрд░ рдХреНрд╖реЗрддреНрд░ рд╡рд┐рднрд╛рдЬрдХ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рд╡реА рдореЗрдВ рдЖрдпрд╛ рдерд╛)ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдореИрдкреНрд╕ рдХреЛ csv рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдбреНрд╕ рдореЗрдВ KEYS рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ vCard рдлрд╝реАрд▓реНрдб рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпреЗ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
outlook2vcard.awkBEGIN { FS = ";" KEYS[""] = "N.1"; KEYS[""] = "N.2"; KEYS[""] = "N.3"; KEYS[""] = "N.4"; KEYS[""] = "N.5"; KEYS[""] = "ORG.1"; KEYS[""] = "ORG.2"; KEYS[""] = "TITLE"; KEYS[""] = "ADR;TYPE=work.2"; KEYS["2"] = "ADR;TYPE=work.2"; KEYS["3"] = "ADR;TYPE=work.2"; KEYS[""] = "ADR;TYPE=work.3"; KEYS[""] = "ADR;TYPE=work.4"; KEYS[""] = "ADR;TYPE=work.5"; KEYS[""] = "ADR;TYPE=work.6"; KEYS[""] = "ADR;TYPE=home.1"; KEYS[""] = "ADR;TYPE=home.2"; KEYS["2"] = "ADR;TYPE=home.2"; KEYS["3"] = "ADR;TYPE=home.2"; KEYS[""] = "ADR;TYPE=home.3"; KEYS[""] = "ADR;TYPE=home.4"; KEYS[""] = "ADR;TYPE=home.5"; KEYS[""] = "ADR;TYPE=home.6"; KEYS[""] = "ADR;TYPE=postal.2"; KEYS["2"] = "ADR;TYPE=postal.2"; KEYS["3"] = "ADR;TYPE=postal.2"; KEYS[""] = "ADR;TYPE=postal.3"; KEYS[""] = "ADR;TYPE=postal.4"; KEYS[""] = "ADR;TYPE=postal.5"; KEYS[""] = "ADR;TYPE=postal.6"; KEYS[""] = "TEL;TYPE=pager"; KEYS[""] = "TEL;TYPE=work;TYPE=fax"; KEYS[""] = "TEL;TYPE=work"; KEYS["2"] = "TEL;TYPE=work"; KEYS[""] = "TEL;TYPE=X-EVOLUTION-CALLBACK"; KEYS[""] = "TEL;TYPE=car"; KEYS[""] = "TEL;TYPE=work"; KEYS[""] = "TEL;TYPE=home;TYPE=fax"; KEYS[""] = "TEL;TYPE=home"; KEYS["2"] = "TEL;TYPE=home"; KEYS["ISDN"] = "TEL;TYPE=isdn"; KEYS[""] = "TEL;TYPE=cell"; KEYS[""] = "TEL;TYPE=fax"; KEYS[""] = "TEL"; KEYS[""] = "TEL;TYPE=pager"; KEYS[""] = "TEL"; KEYS[""] = "TEL;TYPE=pcs"; KEYS[""] = "TEL;TYPE=msg"; KEYS[""] = "TEL;TYPE=msg"; KEYS[""] = ""; KEYS[""] = "URL"; KEYS[""] = "X-ANNIVERSARY"; KEYS[""] = "BDAY"; KEYS[""] = ""; KEYS[""] = "X-ASSISTANT"; KEYS[""] = ""; KEYS[""] = "CATEGORIES"; KEYS[""] = "NOTE"; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS["1"] = ""; KEYS["2"] = ""; KEYS["3"] = ""; KEYS["4"] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = "X-SPOUSE"; KEYS[""] = ""; KEYS[""] = ""; KEYS[""] = ""; KEYS["_"] = ""; KEYS[""] = "EMAIL;TYPE=internet"; KEYS[""] = ""; KEYS[""] = ""; KEYS["2"] = "EMAIL;TYPE=internet"; KEYS["2"] = ""; KEYS["2"] = ""; KEYS["3"] = "EMAIL;TYPE=internet"; KEYS["3"] = ""; KEYS["3"] = ""; KEYS[""] = ""; } FNR == 1 { for (i = 1; i <= NF; i++) { k = KEYS[$i]; if ("" != k) { MAPS[i] = k; } } } FNR != 1 { delete PROPS; for (i = 1; i <= NF; i++) { k = MAPS[i]; if (("" != $i) && ("" != k)) { PROPS[k] = $i; } } n = asorti(PROPS, SKEYS); if (n > 0) { l = ""; print("BEGIN:VCARD"); printf("VERSION:3.0"); for (i = 1; i <= n; i++) { k = SKEYS[i]; v = PROPS[k]; if (2 == split(k, a, ".")) { k = a[1]; x = 0 + a[2]; } else { x = 1; } if (l != k) { l = k; m = 1; printf("\r\n%s:", l); } while (m < x) { m++; printf(";"); } printf("%s", v); } print("\r\nEND:VCARD"); } } function die(str) { print "Error at " FILENAME ":" FNR " " str exit } function warn(str) { print "Warning at " FILENAME ":" FNR " " str }
рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ?
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рдореНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ awk рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдЪрд▓рд╛рдПрдВ:
gawk -f outlook2vcard.awk inputfile.csv >outputfile.vcf
рдЖрдк рдХрдИ рд╕реАрдПрд╕рд╡реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрдирдкреБрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдорд░рд╣рдо рдореЗрдВ рдЙрдбрд╝рдирд╛
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рд░рд┐рд▓рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ
рдпреВрдЯреАрдПрдл -8 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╣реИред рдпрд╣ рдЕрдВрддрд┐рдо рдХреЙрд░реНрдб рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ рддреЛ
рдпреВрдирд┐рдХреНрд╕реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрдирд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣
gnuwin32 рдХреЗ рддрд╣рдд рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рдиреЛрдЯрдкреИрдб (notepad.exe) рдХреЗ рд╕рд╛рде, рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рдирд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдирдП рдирд╛рдо (рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ ...) рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рдЪреБрдирдирд╛ рдирдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдХреЗ рддрд╣рдд UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧред
рдлреЛрди рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд
рд╡рд┐рдзрд┐ рд╕рд░рд▓ рд╣реИ рдФрд░ рдмреНрд▓реЙрдЧ рдФрд░ рдордВрдЪреЛрдВ рдХреЗ рдвреЗрд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрд▓рд╕реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдКрдВрдЧрд╛ред Vcf рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреЛ Android рдлрд╝реЛрди рдХреЗ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рд╕рдВрдкрд░реНрдХ рджрд░реНрдЬ рдХрд░реЗрдВ, рдореЗрдиреВ рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░ "рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ - рдПрдХ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ", рд╡реЙрдпрд▓рд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред