Actualização: o script que era referido na versão inicial deste texto funciona, mas podemos usar uma técnica ainda mais simples. O Eclipse possui um conversor. Veja em File->convert line delimeters to...

Versão um pouco mais trabalhosa.

O seu diff acusa uma diferença nas linhas brancas entre os seus resultados e os que estão no moodle? Está a usar um Mac e aparentemente está tudo bem? Então, isto é para si. :-)
Está a usar o Linux e verifica o mesmo problema?

Os testes depositados no moodle foram gerados no Windows. Foi reportado por uma utilizadora de Mac que o diff apresentava diferenças nas linhas em branco dos ficheiros de resultados, face aos resultados por ela obtidos. O curioso é que os resultados dela estavam, de facto, correctos. Isto é visível logo na tarefa A.

Isto pode acontecer, porque o Windows e o Mac não representam exactamente da mesma forma as linhas em branco. Se experimentar usar no seu Mac um editor como o vi, vai reparar que nessas linhas aparece o carácter ^M (control-M), em vez de a linha aparecer em branco. Pois bem, é esse carácter que provoca a diferença identificada pelo diff. Claro que pode ir a cada um dos ficheiros remover à mão. Mas não o aconselhamos a tentar. Dá muito trabalho. Como remover de forma rápida?



Na linha de comandos, no directório em que descompactou os seus testes (onde encontra 4 sub-directórios, um por cada tarefa), escreva o seguinte comando:

No Mac, o script que se segue resolve o problema.

for i in */*.txt; do cat $i | sed 's/\r//g' > tmp.txt; mv tmp.txt $i; done



Pronto, já está. Se agora for ver o conteúdo dos ficheiros, o tal ^M desapareceu. Como funciona este mini-script? Bom, para cada i, sendo i um ficheiro dentro de um directório (neste caso, um dos 4 directórios com testes de tarefas) e tendo esse ficheiro a extensão .txt, vamos mandar escrever o ficheiro, substituindo \r por nada, em todo o ficheiro, e redireccionando o resultado para tmp.txt, movendo em seguida tmp.txt para i. Isto é uma forma compacta de ir ficheiro a ficheiro remover, uma por uma, todas as ocorrências do ^M.

Voltemos ao trabalho. Se agora o seu diff já não acusa diferenças, já pode enviar o seu trabalho com confiança para o moodle.
Last modified: sábado, 4 agosto 2012, 6:17