gustaff
Goto Top

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

gelöstFrageLinux
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-ID: 640480

Url: https://administrator.de/forum/sed-script-ist-zu-langsam-perl-bzw-awk-als-alternative-640480.html

Ausgedruckt am: 23.04.2025 um 06:04 Uhr

StefanKittel
Lösung StefanKittel 14.01.2021 aktualisiert um 10:43:39 Uhr
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
Gustaff
Gustaff 14.01.2021 aktualisiert um 11:17:26 Uhr
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.
StefanKittel
StefanKittel 14.01.2021 um 11:14:07 Uhr
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
Gustaff
Gustaff 14.01.2021 aktualisiert um 11:23:14 Uhr
Goto Top
Ok. Dann bin ich falsch in diesem Thread. Danke! Ich werde dann unsere Programierer fragen, viellleicht findet jemand Zeit dafür.
147069
147069 14.01.2021 aktualisiert um 11:30:03 Uhr
Goto Top
Wenn's um Kodierungskorrektur geht, würde mir an deiner Stelle stattdessen mal iconv anschauen
https://linux.die.net/man/1/iconv
Gustaff
Gustaff 14.01.2021 aktualisiert um 11:58:42 Uhr
Goto Top
Bringt nichts - in der Textdatei sind mehrere Kodierungen zusammengemischt: UTF8, UTF16LE, KOI8-R, Win1252, Wind1251, Win1256, usw....
147069
147069 14.01.2021 aktualisiert um 12:08:09 Uhr
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.
Gustaff
Gustaff 14.01.2021 aktualisiert um 12:25:21 Uhr
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
tagol01
Lösung tagol01 14.01.2021, aktualisiert am 27.01.2021 um 14:36:38 Uhr
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
Gustaff
Gustaff 14.01.2021 um 13:40:19 Uhr
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
Penny.Cilin
Penny.Cilin 14.01.2021 um 19:25:11 Uhr
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.