minised: Um sed melhor do que o sed

Erick Raymond minised command

minised: Um sed melhor do que o sed

 minised é uma versão menor e melhor do que o tradicional sed que conhecemos. Antes que haja choro e ranger de dentes, afirmando que estou falando mal do GNU, o minised era utilizado pelo próprio GNU até que eles resolveram criar sua própria versão baseado em um pacote de regexp (que eu duvido que eles vão ter coragem de assumir isso).

minised comparado ao GNU sed
Comparado ao GNU sed, minised possui um terço do seu tamanho.

minised staticly linked against diet libc
Mesmo compilado estaticamente com a diet libc, o binário do minised manteve-se pequeno aumentando apenas 4k.

toybox sed command
O terminal de comandos toybox também proporciona sua própria versão de sed que, se compilado separadamente, também é tão pequeno quanto o minised porém possuindo muito mais recursos que o GNU sed (digite toybox sed --help e compare com o GNU sed).

 O minised foi desenvolvido por Erick Raymond (autor do livro A Catedral e o Bazar já mencionado várias vezes por mim e é um ótimo livro, diga-se de passagem) e René Rebe que também possui um longo portfólio (iniciando em 1997). Além do projeto GNU, o minised é a versão padrão de sed do sistema operacional Minix, utilizado em projetos embarcados da ExactCode e na distribuição da T2_SDE (inclusive fundado por René Rebe)

GNU sed vs minised benchmark
Comparado ao GNU sed, o minised conclui operações em menos tempo e utilizando menos recurso de hardware. O resultado pode ser conferido no vídeo a seguir.


toybox sed command benchmark
O desempenho do toybox sed também fica dentro dos padrões de desempenho do minised.

 Após a ExactCODE buscar por uma implementação do comando sed que pudesse ser utilizada em embarcados e que fosse compatível com à diet libc, a empresa alemã acabou descobrindo o minised que, mesmo não recebendo mais suporte há um bom tempo e contendo vários bugs, ainda assim o minised se apresentou ser melhor do que o GNU sed em certos casos, o que levou a empresa se tornar mantenedora oficial do minised realizando correcções, limpezas, melhorias, adicionando recursos que faltavam e conformidades POSIX (espero que a ExactCODE passe a manter a diet libc também :).

sed é um comando tão abrangente que existe até mesmo um livro de 275 páginas escrito por Daniel Goldman chamado Definitive Guide to sed: Tutorial and Reference. A versão kindle pode ser adquirida clicando aqui e a versão impressa clicando aqui.


 O minised esteve sob a licença GPL desde a versão 1.3 passando a ser regido sob a licença BSD a partir da versão 1.14 estando Erick Raymond de acordo com a migração. A versão atual do minised é a 1.16 e de acordo com as notas de lançamento, parece que a versão 1.17 já está para ser lançada (o trabalho pode ser acompanhado clicando aqui). Além da versão do toybox, os pacotes 9base (conjunto de comandos do sistema operacional Plan9 portado para outros sistemas operacionais) e sbase (conjunto de comandos do Unix portado para outros Unix) também possuem suas próprias versões do comando sed. Tenham em mente que sempre há uma variedade de versões dos mesmos recursos disponíveis para Linux. Não se limitem á uma única fonte de recurso; sempre busque as que melhor adequam as suas necessidades.

Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (30) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (31) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (94) gerenciadores de pacotes (4) glaucus (3) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (11) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (165) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (43) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidor web (2) servidores (2) shell (9) shell script (8) sistema operacional (25) skarnet (1) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (7) terminal (89) terminal de comandos (18) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (15) zsh (3)