gustaff
Goto Top

Sed-Script ist zu langsam. Perl bzw. AWK als alternative?

Hallo an alle Mitglieder!

Ich folgende Frage. Ich habe ein SED-Script, die alle falsch kodierte UTF-8-Symbole durch normale Symbole ersetzt.

Es funktioniert wie folgt:

sed -f Replace.sed Muster.txt > Muster1.txt

Replace.sed sieht wie folgt aus (als Beispiel. Originale Datei beinhaltet fast 70.000 Zeilen):

s// /g
s/ß½/߽/g
s/ß¼/߼/g
s/ß»/߻/g
s/ߺ/ߺ/g
s/ß¹/߹/g
s/߸/߸/g
s/ß·/߷/g
s/߶/߶/g
s/ßµ/ߵ/g
s/ß´/ߴ/g
s/ß³/߳/g
s/ß²/߲/g
s/ß±/߱/g
s/ß°/߰/g
s/߯/߯/g
s/ß®/߮/g
s/ß­/߭/g
s/߬/߬/g
s/ß«/߫/g
s/ߪ/ߪ/g
s/ß©/ߩ/g
s/ߨ/ߨ/g
s/ߧ/ߧ/g
s/ߦ/ߦ/g
s/ߥ/ߥ/g
s/ߤ/ߤ/g
s/ߣ/ߣ/g
s/ߢ/ߢ/g
s/ß¡/ߡ/g
s/ß /ߠ/g
s/ߟ/ߟ/g
s/ߞ/ߞ/g
s/ߝ/ߝ/g
s/ߜ/ߜ/g
s/ߛ/ߛ/g
s/ߚ/ߚ/g
s/ߙ/ߙ/g
s/ߘ/ߘ/g
s/ߗ/ߗ/g
s/ߖ/ߖ/g
s/ߕ/ߕ/g
s/ߔ/ߔ/g
s/ߓ/ߓ/g
s/ߒ/ߒ/g
s/ߑ/ߑ/g
s/ߐ/ߐ/g
s/ߏ/ߏ/g
s/ߎ/ߎ/g
s/ߍ/ߍ/g
s/ߌ/ߌ/g
s/ߋ/ߋ/g
s/ߊ/ߊ/g
s/߉/߉/g
s/߈/߈/g
s/߇/߇/g
s/߆/߆/g
s/߅/߅/g
s/߄/߄/g
s/߃/߃/g
s/߂/߂/g
s/߁/߁/g
s/߀/߀/g
s/Þ¿/޿/g
s/Þ¾/޾/g
s/Þ½/޽/g
s/Þ¼/޼/g
s/Þ»/޻/g
s/Þº/޺/g
s/Þ¹/޹/g
s/Þ¸/޸/g
s/Þ·/޷/g
s/Þ¶/޶/g
s/Þµ/޵/g
s/Þ´/޴/g
s/Þ³/޳/g
s/Þ²/޲/g
s/Þ±/ޱ/g
s/Þ°/ް/g
s/Þ¯/ޯ/g
s/Þ®/ޮ/g
s/Þ­/ޭ/g
s/Þ¬/ެ/g
s/Þ«/ޫ/g
s/Þª/ު/g
s/Þ©/ީ/g
s/Þ¨/ި/g
s/Þ§/ާ/g
s/Þ¦/ަ/g
s/Þ¥/ޥ/g
s/Þ¤/ޤ/g
s/Þ£/ޣ/g
s/Þ¢/ޢ/g
s/Þ¡/ޡ/g
s/Þ /ޠ/g
s/ޟ/ޟ/g
s/ޞ/ޞ/g
s/ޝ/ޝ/g
s/ޜ/ޜ/g
s/ޛ/ޛ/g
s/ޚ/ޚ/g
s/ޙ/ޙ/g
s/ޘ/ޘ/g
s/ޗ/ޗ/g
s/ޖ/ޖ/g
s/ޕ/ޕ/g
s/ޔ/ޔ/g
s/ޓ/ޓ/g
s/ޒ/ޒ/g
s/ޑ/ޑ/g
s/ސ/ސ/g
s/ޏ/ޏ/g
s/ގ/ގ/g
s/ލ/ލ/g
s/ތ/ތ/g
s/ދ/ދ/g
s/ފ/ފ/g
s/މ/މ/g
s/ވ/ވ/g
s/އ/އ/g
s/ކ/ކ/g
s/ޅ/ޅ/g
s/ބ/ބ/g
s/ރ/ރ/g
s/ނ/ނ/g
s/ށ/ށ/g
s/ހ/ހ/g
s/Ý¿/ݿ/g
s/ݾ/ݾ/g
s/ݽ/ݽ/g
s/ݼ/ݼ/g
s/Ý»/ݻ/g
s/ݺ/ݺ/g
s/ݹ/ݹ/g
s/ݸ/ݸ/g
s/Ý·/ݷ/g
s/ݶ/ݶ/g
s/ݵ/ݵ/g
s/Ý´/ݴ/g
s/ݳ/ݳ/g
s/ݲ/ݲ/g
s/ݱ/ݱ/g
s/Ý°/ݰ/g
s/ݯ/ݯ/g
s/Ý®/ݮ/g
s/Ý­/ݭ/g
s/ݬ/ݬ/g
s/Ý«/ݫ/g
s/ݪ/ݪ/g
s/Ý©/ݩ/g
s/ݨ/ݨ/g
s/ݧ/ݧ/g
s/ݦ/ݦ/g
s/Ý¥/ݥ/g
s/ݤ/ݤ/g
s/Ý£/ݣ/g
s/Ý¢/ݢ/g
s/Ý¡/ݡ/g
s/Ý /ݠ/g
s/ݟ/ݟ/g
s/ݞ/ݞ/g
s/ݝ/ݝ/g
s/ݜ/ݜ/g
s/ݛ/ݛ/g
s/ݚ/ݚ/g
s/ݙ/ݙ/g
s/ݘ/ݘ/g
s/ݗ/ݗ/g
s/ݖ/ݖ/g
s/ݕ/ݕ/g
s/ݔ/ݔ/g
s/ݓ/ݓ/g
s/ݒ/ݒ/g
s/ݑ/ݑ/g
s/ݐ/ݐ/g
s/ݏ/ݏ/g
s/ݎ/ݎ/g
s/ݍ/ݍ/g
s/݌/݌/g
s/݋/݋/g
s/݊/݊/g
s/݉/݉/g
s/݈/݈/g
s/݇/݇/g
s/݆/݆/g
s/݅/݅/g
s/݄/݄/g
s/݃/݃/g
s/݂/݂/g
s/݁/݁/g
s/݀/݀/g
s/Ü¿/ܿ/g
s/ܾ/ܾ/g
s/ܽ/ܽ/g
s/ܼ/ܼ/g
s/Ü»/ܻ/g
s/ܺ/ܺ/g
s/ܹ/ܹ/g
s/ܸ/ܸ/g
s/Ü·/ܷ/g
s/ܶ/ܶ/g
s/ܵ/ܵ/g
s/Ü´/ܴ/g
s/ܳ/ܳ/g
s/ܲ/ܲ/g
s/ܱ/ܱ/g
s/Ü°/ܰ/g
s/ܯ/ܯ/g
s/Ü®/ܮ/g
s/Ü­/ܭ/g
s/ܬ/ܬ/g
s/Ü«/ܫ/g
s/ܪ/ܪ/g
s/Ü©/ܩ/g
s/ܨ/ܨ/g
s/ܧ/ܧ/g
s/ܦ/ܦ/g
s/Ü¥/ܥ/g
s/ܤ/ܤ/g
s/Ü£/ܣ/g
s/Ü¢/ܢ/g
s/Ü¡/ܡ/g
s/Ü /ܠ/g
s/ܟ/ܟ/g
s/ܞ/ܞ/g
s/ܝ/ܝ/g
s/ܜ/ܜ/g
s/ܛ/ܛ/g
s/ܚ/ܚ/g
s/ܙ/ܙ/g
s/ܘ/ܘ/g
s/ܗ/ܗ/g
s/ܖ/ܖ/g
s/ܕ/ܕ/g
s/ܔ/ܔ/g
s/ܓ/ܓ/g
s/ܒ/ܒ/g
s/ܑ/ܑ/g
s/ܐ/ܐ/g
s/܏/܏/g
s/܎/܎/g
s/܍/܍/g
s/܌/܌/g
s/܋/܋/g
s/܊/܊/g
s/܉/܉/g
s/܈/܈/g
s/܇/܇/g
s/܆/܆/g
s/܅/܅/g
s/܄/܄/g
s/܃/܃/g
s/܂/܂/g
s/܁/܁/g
s/܀/܀/g
s/Û­/ۭ/g
s/Û¬/۬/g
s/Û«/۫/g
s/Ûª/۪/g
s/Û©/۩/g
s/Û¨/ۨ/g
s/Û§/ۧ/g
s/Û¦/ۦ/g
s/Û¥/ۥ/g
s/Û¤/ۤ/g
s/Û£/ۣ/g
s/Û¢/ۢ/g
s/Û¡/ۡ/g
s/Û /۠/g
s/۟/۟/g
s/۞/۞/g
s/۝/۝/g
s/ۜ/ۜ/g
s/ۛ/ۛ/g
s/ۚ/ۚ/g
s/ۙ/ۙ/g
s/ۘ/ۘ/g
s/ۗ/ۗ/g
s/ۖ/ۖ/g
s/Ù´/ٴ/g
s/Ù°/ٰ/g
s/Ùª/٪/g
s/ٟ/ٟ/g
s/ٞ/ٞ/g
s/ٝ/ٝ/g
s/ٜ/ٜ/g
s/ٛ/ٛ/g
s/ٚ/ٚ/g
s/ٙ/ٙ/g
s/٘/٘/g
s/ٗ/ٗ/g
s/ٖ/ٖ/g
s/ٕ/ٕ/g
s/ٔ/ٔ/g
s/ٓ/ٓ/g
s/ْ/ْ/g
s/ّ/ّ/g
s/ِ/ِ/g
s/ُ/ُ/g
s/َ/َ/g
s/ٍ/ٍ/g
s/ٌ/ٌ/g
s/ً/ً/g
s/؝/؝/g
s/؜/؜/g
s/؛/؛/g
s/ؚ/ؚ/g
s/ؙ/ؙ/g
s/ؘ/ؘ/g
s/ؗ/ؗ/g
s/ؖ/ؖ/g
s/ؕ/ؕ/g
s/ؔ/ؔ/g
s/ؓ/ؓ/g
s/ؒ/ؒ/g
s/ؑ/ؑ/g
s/ؐ/ؐ/g
s/؏/؏/g
s/؎/؎/g
s/،/،/g
s/؊/؊/g
s/؉/؉/g
s/؇/؇/g
s/؆/؆/g
s/؅/؅/g
s/׿/׿/g
s/×¾/׾/g
s/×½/׽/g
s/×¼/׼/g
s/×»/׻/g
s/׺/׺/g
s/×¹/׹/g
s/׸/׸/g
s/×·/׷/g
s/׶/׶/g
s/×µ/׵/g
s/ׯ/ׯ/g
s/×®/׮/g
s/×­/׭/g
s/׬/׬/g
s/׫/׫/g
s/׏/׏/g
s/׎/׎/g
s/׍/׍/g
s/׌/׌/g
s/׋/׋/g
s/׊/׊/g
s/׉/׉/g
s/׈/׈/g
s/֐/֐/g
s/֏/֏/g
s/֎/֎/g
s/֍/֍/g
s/֌/֌/g
s/֋/֋/g
s/֊//g
s/։//g
s/ֈ/ֈ/g
s/և//g
s/ֆ//g
s/օ//g
s/ք//g
s/փ//g
s/ւ//g
s/ց//g
s/ր//g
s/Õ /ՠ/g
s/՟/՟/g
s/՞//g
s/՝//g
s/՜//g
s/՛//g
s/՚//g
s/ՙ/ՙ/g
s/՘/՘/g
s/՗/՗/g
s/Ֆ//g
s/Օ//g
s/Ք//g
s/Փ//g
s/Ւ//g
s/Ց//g
s/Ր//g
s/Տ//g
s/Վ//g
s/Ս//g
s/Ռ//g
s/Ջ//g
s/Պ//g
s/Չ//g
s/Ո//g
s/Շ//g
s/Ն//g
s/Յ//g
s/Մ//g
s/Ճ//g
s/Ղ//g
s/Ձ//g
s/Հ//g
s/Ô°/԰/g
s/Ô¯/ԯ/g
s/Ô®/Ԯ/g
s/Ô­/ԭ/g
s/Ô¬/Ԭ/g
s/Ô«/ԫ/g
s/Ôª/Ԫ/g
s/Ô©/ԩ/g
s/Ô¨/Ԩ/g
s/Ô§/ԧ/g
s/Ô¦/Ԧ/g
s/Ô¥/ԥ/g
s/Ô¤/Ԥ/g
s/Ô£/ԣ/g
s/Ô¢/Ԣ/g
s/Ô¡/ԡ/g
s/Ô /Ԡ/g
s/ԟ/ԟ/g
s/Ԟ/Ԟ/g
s/ԝ/ԝ/g
s/Ԝ/Ԝ/g
s/ԛ/ԛ/g
s/Ԛ/Ԛ/g
s/ԙ/ԙ/g
s/Ԙ/Ԙ/g
s/ԗ/ԗ/g
s/Ԗ/Ԗ/g
s/ԕ/ԕ/g
s/Ԕ/Ԕ/g
s/ԓ/ԓ/g
s/Ԓ/Ԓ/g
s/ԑ/ԑ/g
s/Ԑ/Ԑ/g
s/ԏ/ԏ/g
s/Ԏ/Ԏ/g
s/ԍ/ԍ/g
s/Ԍ/Ԍ/g
s/ԋ/ԋ/g
s/Ԋ/Ԋ/g
s/ԉ/ԉ/g
s/Ԉ/Ԉ/g
s/ԇ/ԇ/g
s/Ԇ/Ԇ/g
s/ԅ/ԅ/g
s/Ԅ/Ԅ/g
s/ԃ/ԃ/g
s/Ԃ/Ԃ/g
s/ԁ/ԁ/g
s/Ԁ/Ԁ/g
s/Ó¿/ӿ/g
s/Ó¾/Ӿ/g
s/Ó½/ӽ/g
s/Ó¼/Ӽ/g
s/Ó»/ӻ/g
s/Óº/Ӻ/g
s/Ó¹/ӹ/g
s/Ó¸/Ӹ/g
s/Ó·/ӷ/g
s/Ó¶/Ӷ/g
s/Óµ/ӵ/g
s/Ó´/Ӵ/g
s/Ó³/ӳ/g
s/Ó²/Ӳ/g
s/Ó±/ӱ/g
s/Ó°/Ӱ/g
s/Ó¯/ӯ/g
s/Ó®//g
s/Ó­/ӭ/g
s/Ó¬/Ӭ/g
s/Ó«/ӫ/g
s/Óª/Ӫ/g
s/Ó©//g
s/Ó¨//g
s/Ó§/ӧ/g
s/Ó¦/Ӧ/g
s/Ó¥/ӥ/g
s/Ó¤/Ӥ/g
s/Ó£//g
s/Ó¢//g
s/Ó¡/ӡ/g
s/Ó /Ӡ/g
s/ӟ/ӟ/g
s/Ӟ/Ӟ/g
s/ӝ/ӝ/g
s/Ӝ/Ӝ/g
s/ӛ/ӛ/g
s/Ӛ/Ӛ/g
s/ә//g
s/Ә//g
s/ӗ/ӗ/g
s/Ӗ/Ӗ/g
s/ӕ/ӕ/g
s/Ӕ/Ӕ/g
s/ӓ/ӓ/g
s/Ӓ/Ӓ/g
s/ӑ/ӑ/g
s/Ӑ/Ӑ/g
s/ӏ/ӏ/g
s/ӎ/ӎ/g
s/Ӎ/Ӎ/g
s/ӌ/ӌ/g
s/Ӌ/Ӌ/g
s/ӊ/ӊ/g
s/Ӊ/Ӊ/g
s/ӈ/ӈ/g
s/Ӈ/Ӈ/g
s/ӆ/ӆ/g
s/Ӆ/Ӆ/g
s/ӄ/ӄ/g
s/Ӄ/Ӄ/g
s/ӂ/ӂ/g
s/Ӂ/Ӂ/g
s/Ӏ/Ӏ/g
s/Ò¿/ҿ/g
s/Ò¾/Ҿ/g
s/Ò½/ҽ/g
s/Ò¼/Ҽ/g
s/Ò»//g
s/Òº//g
s/Ò¹//g
s/Ò¸//g
s/Ò·//g
s/Ò¶//g
s/Òµ/ҵ/g
s/Ò´/Ҵ/g
s/Ò³//g
s/Ò²//g
s/Ò±//g
s/Ò°//g
s/Ò¯//g
s/Ò®//g
s/Ò­/ҭ/g
s/Ò¬/Ҭ/g
s/Ò«/ҫ/g
s/Òª/Ҫ/g
s/Ò©/ҩ/g
s/Ò¨/Ҩ/g
s/Ò§/ҧ/g
s/Ò¦/Ҧ/g
s/Ò¥/ҥ/g
s/Ò¤/Ҥ/g
s/Ò£//g
s/Ò¢//g
s/Ò¡/ҡ/g
s/Ò /Ҡ/g
s/ҟ/ҟ/g
s/Ҟ/Ҟ/g
s/ҝ//g
s/Ҝ//g
s/қ//g
s/Қ//g
s/ҙ/ҙ/g
s/Ҙ/Ҙ/g
s/җ//g
s/Җ//g
s/ҕ/ҕ/g
s/Ҕ/Ҕ/g
s/ғ//g
s/Ғ//g
s/ґ//g
s/Ґ//g
s/ҏ/ҏ/g
s/Ҏ/Ҏ/g
s/ҍ/ҍ/g
s/Ҍ/Ҍ/g
s/ҋ/ҋ/g
s/Ҋ/Ҋ/g
s/҉/҉/g
s/҈/҈/g
s/҇/҇/g
s/҆/҆/g
s/҅/҅/g
s/҄/҄/g
s/҃/҃/g
s/҂/҂/g
s/ҁ/ҁ/g
s/Ҁ/Ҁ/g
s/Ñ¿/ѿ/g
s/Ѿ/Ѿ/g
s/ѽ/ѽ/g
s/Ѽ/Ѽ/g
s/Ñ»/ѻ/g
s/Ѻ/Ѻ/g
s/ѹ/ѹ/g
s/Ѹ/Ѹ/g
s/Ñ·/ѷ/g
s/Ѷ/Ѷ/g
s/ѵ/ѵ/g
s/Ñ´/Ѵ/g
s/ѳ/ѳ/g
s/Ѳ/Ѳ/g
s/ѱ/ѱ/g
s/Ñ°/Ѱ/g
s/ѯ/ѯ/g
s/Ñ®/Ѯ/g
s/Ñ­/ѭ/g
s/Ѭ/Ѭ/g
s/Ñ«/ѫ/g
s/Ѫ/Ѫ/g
s/Ñ©/ѩ/g
s/Ѩ/Ѩ/g
s/ѧ/ѧ/g
s/Ѧ/Ѧ/g
s/Ñ¥/ѥ/g
s/Ѥ/Ѥ/g
s/Ñ£/ѣ/g
s/Ñ¢/Ѣ/g
s/Ñ¡/ѡ/g
s/Ñ /Ѡ/g
s/џ/џ/g
s/ў/ў/g
s/ѝ/ѝ/g
s/ќ/ќ/g
s/ћ/ћ/g
s/њ/њ/g
s/љ/љ/g
s/ј/ј/g
s/ї/ї/g
s/і/і/g
s/ѕ/ѕ/g
s/є/є/g
s/ѓ/ѓ/g
s/ђ/ђ/g
s/ͯ/ͯ/g
s/Í®/ͮ/g
s/Í­/ͭ/g
s/ͬ/ͬ/g
s/Í«/ͫ/g
s/ͪ/ͪ/g
s/Í©/ͩ/g
s/ͨ/ͨ/g
s/ͧ/ͧ/g
s/ͦ/ͦ/g
s/Í¥/ͥ/g
s/ͤ/ͤ/g
s/Í£/ͣ/g
s/Í¢/͢/g
s/Í¡/͡/g
s/Í /͠/g
s/͟/͟/g
s/͞/͞/g
s/͝/͝/g
s/͜/͜/g
s/͛/͛/g
s/͚/͚/g
s/͙/͙/g
s/͘/͘/g
s/͗/͗/g
s/͖/͖/g
s/͕/͕/g
s/͔/͔/g
s/͓/͓/g
s/͒/͒/g
s/͑/͑/g
s/͐/͐/g
s/͏/͏/g
s/͎/͎/g
s/͍/͍/g
s/͌/͌/g
s/͋/͋/g
s/͊/͊/g
s/͉/͉/g
s/͈/͈/g
s/͇/͇/g
s/͆/͆/g
s/ͅ/ͅ/g
s/̈́/̈́/g
s/̓/̓/g
s/͂/͂/g
s/́/́/g
s/̀/̀/g
s/Ì¿/̿/g
s/̾/̾/g
s/̽/̽/g
s/̼/̼/g
s/Ì»/̻/g
s/̺/̺/g
s/̹/̹/g
s/̸/̸/g
s/Ì·/̷/g
s/̶/̶/g
s/̵/̵/g
s/Ì´/̴/g
s/̳/̳/g
s/̲/̲/g
s/̱/̱/g
s/Ì°/̰/g
s/̯/̯/g
s/Ì®/̮/g
s/Ì­/̭/g
s/̬/̬/g
s/Ì«/̫/g
s/̪/̪/g
s/Ì©/̩/g
s/̨/̨/g
s/̧/̧/g
s/̦/̦/g
s/Ì¥/̥/g
s/̤/̤/g
s/Ì£//g
s/Ì¢/̢/g
s/Ì¡/̡/g
s/Ì /̠/g
s/̟/̟/g
s/̞/̞/g
s/̝/̝/g
s/̜/̜/g
s/̛/̛/g
s/̚/̚/g
s/̙/̙/g
s/̘/̘/g
s/̗/̗/g
s/̖/̖/g
s/̕/̕/g
s/̔/̔/g
s/̓/̓/g
s/̒/̒/g
s/̑/̑/g
s/̐/̐/g
s/̏/̏/g
s/̎/̎/g
s/̍/̍/g
s/̌/̌/g
s/̋/̋/g
s/̊/̊/g
s/̉//g
s/̈/̈/g
s/̇/̇/g
s/̆/̆/g
s/̅/¯/g
s/̄/̄/g
s/̃//g
s/̂/̂/g
s/́//g
s/̀//g
s/Ë¿/˿/g
s/˾/˾/g
s/˽/˽/g
s/˼/˼/g
s/Ë»/˻/g
s/˺/˺/g
s/˹/˹/g
s/˸/˸/g
s/Ë·/˷/g
s/˶/˶/g
s/˵/˵/g
s/Ë´/˴/g
s/˳/˳/g
s/˲/˲/g
s/˱/˱/g
s/Ë°/˰/g
s/˯/˯/g
s/Ë®/ˮ/g
s/Ë­/˭/g
s/ˬ/ˬ/g
s/Ë«/˫/g
s/˪/˪/g
s/Ë©/˩/g
s/˨/˨/g
s/˧/˧/g
s/˦/˦/g
s/Ë¥/˥/g
s/ˤ/ˤ/g
s/Ë£/ˣ/g
s/Ë¢/ˢ/g
s/Ë¡/ˡ/g
s/Ë /ˠ/g
s/˟/˟/g
s/˞/˞/g
s/˝/˝/g
s/˜//g
s/˛/˛/g
s/˚/˚/g
s/˙/˙/g
s/˘/˘/g
s/˗/˗/g
s/˖/˖/g
s/˕/˕/g
s/˔/˔/g
s/˓/˓/g
s/˒/˒/g
s/ˑ/ˑ/g
s/ː/ː/g
s/ˏ/ˏ/g
s/ˎ/ˎ/g
s/ˍ/ˍ/g
s/ˌ/ˌ/g
s/ˋ/ˋ/g
s/ˊ/ˊ/g
s/ˉ/ˉ/g
s/ˈ/ˈ/g
s/ˇ/ˇ/g
s/ˆ//g
s/˅/˅/g
s/˄/˄/g
s/˃/˃/g
s/˂/˂/g
s/ˁ/ˁ/g
s/ˀ/ˀ/g
s/Ê¿/ʿ/g
s/ʾ/ʾ/g
s/ʽ/ʽ/g
s/ʼ/ʼ/g
s/Ê»/ʻ/g
s/ʺ/ʺ/g
s/ʹ/ʹ/g
s/ʸ/ʸ/g
s/Ê·/ʷ/g
s/ʶ/ʶ/g
s/ʵ/ʵ/g
s/Ê´/ʴ/g
s/ʳ/ʳ/g
s/ʲ/ʲ/g
s/ʱ/ʱ/g
s/Ê°/ʰ/g
s/ʯ/ʯ/g
s/Ê®/ʮ/g
s/Ê­/ʭ/g
s/ʬ/ʬ/g
s/Ê«/ʫ/g
s/ʪ/ʪ/g
s/Ê©/ʩ/g
s/ʨ/ʨ/g
s/ʧ/ʧ/g
s/ʦ/ʦ/g
s/Ê¥/ʥ/g
s/ʤ/ʤ/g
s/Ê£/ʣ/g
s/Ê¢/ʢ/g
s/Ê¡/ʡ/g
s/Ê /ʠ/g
s/ʟ/ʟ/g
s/ʞ/ʞ/g
s/ʝ/ʝ/g
s/ʜ/ʜ/g
s/ʛ/ʛ/g
s/ʚ/ʚ/g
s/ʙ/ʙ/g
s/ʘ/ʘ/g
s/ʗ/ʗ/g
s/ʖ/ʖ/g
s/ʕ/ʕ/g
s/ʔ/ʔ/g
s/ʓ/ʓ/g
s/ʒ/ʒ/g
s/ʑ/ʑ/g
s/ʐ/ʐ/g
s/ʏ/ʏ/g
s/ʎ/ʎ/g
s/ʍ/ʍ/g
s/ʌ/ʌ/g
s/ʋ/ʋ/g
s/ʊ/ʊ/g
s/ʉ/ʉ/g
s/ʈ/ʈ/g
s/ʇ/ʇ/g
s/ʆ/ʆ/g
s/ʅ/ʅ/g
s/ʄ/ʄ/g
s/ʃ/ʃ/g
s/ʂ/ʂ/g
s/ʁ/ʁ/g
s/ʀ/ʀ/g
s/É¿/ɿ/g
s/ɾ/ɾ/g
s/ɽ/ɽ/g
s/ɼ/ɼ/g
s/É»/ɻ/g
s/ɺ/ɺ/g
s/ɹ/ɹ/g
s/ɸ/ɸ/g
s/É·/ɷ/g
s/ɶ/ɶ/g
s/ɵ//g
s/É´/ɴ/g
s/ɳ/ɳ/g
s/ɲ/ɲ/g
s/ɱ/ɱ/g
s/É°/ɰ/g
s/ɯ/ɯ/g
s/É®/ɮ/g
s/É­/ɭ/g
s/ɬ/ɬ/g
s/É«/ɫ/g
s/ɪ/ɪ/g
s/É©/ɩ/g
s/ɨ/ɨ/g
s/ɧ/ɧ/g
s/ɦ/ɦ/g
s/É¥/ɥ/g
s/ɤ/ɤ/g
s/É£/ɣ/g
s/É¢/ɢ/g
s/É¡/ɡ/g
s/É /ɠ/g
s/ɟ/ɟ/g
s/ɞ/ɞ/g
s/ɝ/ɝ/g
s/ɜ/ɜ/g
s/ɛ/ɛ/g
s/ɚ/ɚ/g
s/ə//g
s/ɘ/ɘ/g
s/ɗ/ɗ/g
s/ɖ/ɖ/g
s/œ/ /g
s/ɕ/ɕ/g
s/ɔ/ɔ/g
s/ɓ/ɓ/g
s/ɒ/ɒ/g
s/ɑ/ɑ/g
s/ɐ/ɐ/g
s/ɏ/ɏ/g
s/Ɏ/Ɏ/g
s/ɍ/ɍ/g
s/Ɍ/Ɍ/g
s/ɋ/ɋ/g
s/Ɋ/Ɋ/g
s/ɉ/ɉ/g
s/Ɉ/Ɉ/g
s/ɇ/ɇ/g
s/Ɇ/Ɇ/g
s/Ʌ/Ʌ/g
s/Ʉ/Ʉ/g
s/Ƀ/Ƀ/g
s/ɂ/ɂ/g
s/Ɂ/Ɂ/g
s/ɀ/ɀ/g
s/È¿/ȿ/g
s/Ⱦ/Ⱦ/g
s/Ƚ/Ƚ/g
s/ȼ/ȼ/g
s/È»/Ȼ/g
s/Ⱥ/Ⱥ/g
s/ȹ/ȹ/g
s/ȸ/ȸ/g
s/È·/ȷ/g
s/ȶ/ȶ/g
s/ȵ/ȵ/g
s/È´/ȴ/g
s/ȳ/ȳ/g
s/Ȳ/Ȳ/g
s/ȱ/ȱ/g
s/È°/Ȱ/g
s/ȯ/ȯ/g
s/È®/Ȯ/g
s/È­/ȭ/g
s/Ȭ/Ȭ/g
s/ß¿/߿/g
s/È«/ȫ/g
s/Ȫ/Ȫ/g
s/È©/ȩ/g
s/Ȩ/Ȩ/g
s/ȧ/ȧ/g
s/Ȧ/Ȧ/g
s/È¥/ȥ/g
s/Ȥ/Ȥ/g
s/È£/ȣ/g
s/È¢/Ȣ/g
s/È¡/ȡ/g
s/È /Ƞ/g
s/ȟ/ȟ/g
s/Ȟ/Ȟ/g
s/ȝ/ȝ/g
s/Ȝ/Ȝ/g
s/ț/ț/g
s/Ț/Ț/g
s/ș/ș/g
s/Ș/Ș/g
s/ȗ/ȗ/g
s/Ȗ/Ȗ/g
s/ȕ/ȕ/g
s/Ȕ/Ȕ/g
s/ȓ/ȓ/g
s/Ȓ/Ȓ/g
s/ȑ/ȑ/g
s/Ȑ/Ȑ/g
s/ȏ/ȏ/g
s/Ȏ/Ȏ/g
s/ȍ/ȍ/g
s/Ȍ/Ȍ/g
s/ȋ/ȋ/g
s/Ȋ/Ȋ/g
s/ȉ/ȉ/g
s/Ȉ/Ȉ/g
s/ȇ/ȇ/g
s/Ȇ/Ȇ/g
s/ȅ/ȅ/g
s/Ȅ/Ȅ/g
s/ȃ/ȃ/g
s/Ȃ/Ȃ/g
s/ȁ/ȁ/g
s/Ȁ/Ȁ/g
s/Ç¿/ǿ/g
s/Ǿ/Ǿ/g
s/ǽ/ǽ/g
s/Ǽ/Ǽ/g
s/Ç»/ǻ/g
s/Ǻ/Ǻ/g
s/ǹ/ǹ/g

Nun ist klar, dass sed-Script zu langsam ist, wenn ich eine txt-Datei von der Größe von 2GB (also mehrere Millionen Zeilen) korrigieren muss. Die Lösung den Script auf mehrere kleinere Scripts zu verteilen ist nicht zielführend.
Kann man so einen Script mit AWK oder Perl umschreiben, damit es schneller geht? Leider habe ich da nicht so viel Ahnung.

Danke!

Content-Key: 640480

Url: https://administrator.de/contentid/640480

Printed on: April 24, 2024 at 17:04 o'clock

Member: StefanKittel
Solution StefanKittel Jan 14, 2021 updated at 09:43:39 (UTC)
Goto Top
Nun ist klar, dass sed-Script zu langsam ist, wenn ich eine txt-Datei von der Größe von 2GB (also mehrere Millionen Zeilen) korrigieren muss.
Definiere doch bitte mal langsam?
2 Minuten? 2 Stunden? 2 Tage?

Kann man so einen Script mit AWK oder Perl umschreiben, damit es schneller geht? Leider habe ich da nicht so viel Ahnung.
SED ist ein kompiliertes Programm. Es ist per Definition schneller als Pearl und AWK da dieses Skript-Sprachen sind.

Wobei AWK genau dafür gemacht wurde.
Müsste man schlicht ausprobieren.

Dein Problem kommt rein von der rechenleistung.
Für jedes Zeichen in Deinen 2GB muss er 70.000 Vergleiche durchführen.

2.000.000.000 x 70.000 = 140.000.000.000.000 Vergleiche + Die Ersetzungen

Wichtig ist, dass Du möglichst alles in den RAM bekommst.
Ich weiß halt nicht wie schlau SED programmiert ist.

Am einfachsten wäre ein eigenes Programm in C# C++ schreiben (lassen).
Das sollte nicht so aufwendig sein.

Stefan
Member: Gustaff
Gustaff Jan 14, 2021 updated at 10:17:26 (UTC)
Goto Top
txt-Datei besteht aus 60.000.000 Zeilen.

Es werden pro Stunde ca. 500 Zeichen aus sed-Script bearbeitet und ersetzt.

Macht insgesamt fast 8 Tage.

Danach muss Script nochmals wiederholt werden, um alle neu entstehende Zeichenkombinationen zu korrigieren.

Also - zusammen 16 Tage.
Member: StefanKittel
StefanKittel Jan 14, 2021 at 10:14:07 (UTC)
Goto Top
Hallo,

witzig, passt

70.000 Zeichen zum ersetzem
10 Zeichen/Sekunde (geraten)
700.000 Sekunden
11.667 Minuten
194 Stunden
8,10 Tage

Ich denke, dass man mit einem optimierten Multithreadingprogramme durchaus in den einstellungen Stundenbereich vorstoßen kann.
Dass muss natürlich Jemand programmieren.

Ich glaube kaum, dass Du da mit einer Skript-Lösung deutlich schneller wirst.

Stefan
Member: Gustaff
Gustaff Jan 14, 2021 updated at 10:23:14 (UTC)
Goto Top
Ok. Dann bin ich falsch in diesem Thread. Danke! Ich werde dann unsere Programierer fragen, viellleicht findet jemand Zeit dafür.
Mitglied: 147069
147069 Jan 14, 2021 updated at 10:30:03 (UTC)
Goto Top
Wenn's um Kodierungskorrektur geht, würde mir an deiner Stelle stattdessen mal iconv anschauen
https://linux.die.net/man/1/iconv
Member: Gustaff
Gustaff Jan 14, 2021 updated at 10:58:42 (UTC)
Goto Top
Bringt nichts - in der Textdatei sind mehrere Kodierungen zusammengemischt: UTF8, UTF16LE, KOI8-R, Win1252, Wind1251, Win1256, usw....
Mitglied: 147069
147069 Jan 14, 2021 updated at 11:08:09 (UTC)
Goto Top
Oi, da hat sich aber einer ausgetobt face-big-smile.

SED ist aber schon eines der schnellsten unter den Produkten zur Änderung von Dateien.
Member: Gustaff
Gustaff Jan 14, 2021 updated at 11:25:21 (UTC)
Goto Top
Das passiert, wenn ein .... einige Dateien von diversen Weltniederlassungen automatisch per Script zusammenfügt und vergisst dabei die Config-Datei entsprechend zu ändern. Vor allem eine Zeile, die für Löschung von Originaldateien sorgt. face-sad

PS: Einer von unseren Programmierer macht es mit C++ heute abend. face-wink
Member: tagol01
Solution tagol01 Jan 14, 2021, updated at Jan 27, 2021 at 13:36:38 (UTC)
Goto Top
Zitat von @Gustaff:
sed -f Replace.sed Muster.txt > Muster1.txt

Nun ist klar, dass sed-Script zu langsam ist, wenn ich eine txt-Datei von der Größe von 2GB (also mehrere Millionen Zeilen) korrigieren muss.

stichwort: parallel

mit "parallel" habe ich schon einige challenge gegen programmierer bzgl. performce gewonnen.

z.b.:
cat Muster1.txt | parallel -gnu " sed -f Replace.sed"......  

siehe dazu: linux bash parallel
Member: Gustaff
Gustaff Jan 14, 2021 at 12:40:19 (UTC)
Goto Top
Danke! Das habe ich nicht gewusst. Leider habe ich den Befehl nicht im System. face-sad Und unser Admin ist diese Woche nicht da. Trotzdem vielen Dank! face-wink
Member: Penny.Cilin
Penny.Cilin Jan 14, 2021 at 18:25:11 (UTC)
Goto Top
Zitat von @StefanKittel:

Nun ist klar, dass sed-Script zu langsam ist, wenn ich eine txt-Datei von der Größe von 2GB (also mehrere Millionen Zeilen) korrigieren muss.
Definiere doch bitte mal langsam?
2 Minuten? 2 Stunden? 2 Tage?

Kann man so einen Script mit AWK oder Perl umschreiben, damit es schneller geht? Leider habe ich da nicht so viel Ahnung.
SED ist ein kompiliertes Programm. Es ist per Definition schneller als Pearl und AWK da dieses Skript-Sprachen sind.
@Stefan
Pearl != Perl
Ja ich weiß ein Vertippper. face-wink

Gruss Penny.