Grep apelido para nano. Nada acontece quando o comando é emitido

2

Eu tenho um professor que armazena trabalhos de casa em vários arquivos espalhados em diferentes subdiretórios em uma pasta de aula com o cabeçalho "TODO:" Eu gostaria de enviar todos esses itens para um único arquivo de texto em nano ao invés de navegar de um arquivo de atribuição para outro.

Eu tentei fazer um alias para este comando, já que eu uso muito, mas sempre que tento executá-lo, o cursor pisca e nada acontece.

alias todo='cd /home/csc103/Desktop/shared/csc103-lectures && grep -Rw "TODO:" --after-context=6  --include="*.cpp" . > todo.txt && nano todo.txt'

O que estou fazendo de errado aqui?

Editar

por "Nothing Happens" quero dizer que o cursor continua piscando e o próximo prompt não aparece. Como no painel de terminal esquerdo na imagem abaixo.

Noentanto,quandoeuforçooencerramentodoprocessocomctrl-C,acabonodiretórioemquequeriaqueoaliasdocomandotodomelevasse.Eháumarquivotodo.txtlá.

Além disso, se for de alguma relevância, estou emitindo esses comandos em uma instalação do Arch Linux no VirtualBox.

    
por David 08.10.2016 / 06:22

1 resposta

0

Eu percebi isso, obrigado pelos caras dos ponteiros. O problema aqui era que o grep estava procurando recursivamente por "TODO:" no arquivo todo.txt e, em seguida, gravando os resultados de volta para o arquivo todo.txt. Quando abri o todo.txt, ele foi preenchido com o mesmo texto em loop repetidamente. Evidentemente, eu deveria ter usado a opção --exclude="todo.txt" em grep . Depois de adicionar isso, funciona perfeitamente.

    
por 09.10.2016 / 03:43