Recentemente, encontrei o ótimo comando fortune
e usei agora para enviar uma cotação noturna para um bate-papo persistente.
Agora, pergunto-me como remover as quebras de linha forçadas para a parte quote , mas preservá-las em torno da linha do autor no final.
Por quê? Devido às larguras variadas das janelas de bate-papo, a saída resultante é dividida em linhas duplas na maioria dos casos (isso não foi bem expresso, mas você pode ter entendido o que quero dizer - se não e isso é importante para você, fique à vontade para pedir esclarecimentos) ).
Claro que já procurei uma solução e encontrei:
echo -n 'fortune'
mas isso remove todas as quebras de linha, obviamente.
O mais apreciado seria uma solução sh
compatível, mas no caso de maior simplicidade, bash
(outros?) seria uma opção também.
Atualização 2016-02-12:
Exemplo de saída de fortuna com várias linhas, conforme solicitado:
me@myhost:~$ fortune
Mit jemand leben oder in jemand leben, ist ein großer
Unterschied. Es gibt Menschen, in denen man leben kann, ohne mit
ihnen zu leben, und umgekehrt. Beides zu verbinden, ist nur der
reinsten Liebe und Freundschaft möglich.
-- Goethe, Maximen und Reflektionen, Nr. 649
me@myhost:~$
A solução proposta abaixo faz isso:
me@myhost:~$ fortune | sed ':a;N;$!ba;s/\n[[:space:]]\{2\}--/ --/'
Die so genannten Naturdichter sind frisch und neu aufgeforderte,
aus eine rüberbildeten, stockenden, manierierten Kunstepoche
zurückgewiesene Talente. Dem Platten können sie nicht ausweichen, man
kann sie daher als rückschreitend ansehen; sie sind aber
regenerierend und veranlassen neue Vorschritte. -- Goethe, Maximen und Reflektionen, Nr. 258
me@myhost:~$
Esta é uma proposta bastante boa, embora não forneça a solução desejada exata. Faz o oposto do que estou tentando alcançar. Assim que eu entender a expressão sed, vou tentar inverter a lógica ... fique à vontade para ser mais rápido que eu! : D