Adicionei ao PATH corretamente, mas qdo chamo o contapalavras
ocorre um o erro.
O que fiz de errado?
wc -w *.txt | grep total
Resultado:
rafa@ubuntu:~$ contapalavras
wc: '*.txt': No such file or directory
Adicionei ao PATH corretamente, mas qdo chamo o contapalavras
ocorre um o erro.
O que fiz de errado?
wc -w *.txt | grep total
Resultado:
rafa@ubuntu:~$ contapalavras
wc: '*.txt': No such file or directory
Tens que colocar .txt no final dos arquivos criados, nao somente o nome do arquivo
rafa@ubuntu:~/scripts$ ls -la
drwxr-xr-x 2 rafa rafa 4096 dez 5 23:38 .
drwxr-x--- 21 rafa rafa 4096 dez 6 12:27 ..
-rw-r--r-- 1 rafa rafa 93 dez 5 23:17 arq1.txt
-rw-r--r-- 1 rafa rafa 100 dez 5 23:17 arq2.txt
-rwxr-xr-x 1 rafa rafa 25 dez 5 23:19 contapalavras
-rwxr-xr-x 1 rafa rafa 14 dez 5 23:38 contaprocessos
rafa@ubuntu:~/scripts$ cd ..
rafa@ubuntu:~$ contapalavras
wc: '*.txt': No such file or directory
Mas as extensões estão definidas, Isaac.
Já tentou rodar o script de dentro da sua pasta scripts? Pois quando você executa o comando na pasta home, ele não encontra os arquivos (no such file or directory) pois não estão no diretório corrente, uma vez que no seu script o diretório não foi declarado.
Estou tendo o mesmo problema. Tentei o código direto no terminal e funcionou. Arquivos a serem lidos com extensão .txt, demais código exatamente como explicado na Task... No aguardo.
O problema não é o nome dos arquivos ou sua extensão. Na realidade a questão tem a ver com a combinação dos conceitos de PATH e globbing.
Veja que o comando no seu shell script contapalavras não indica explicitamente que deve contar as palavras (wc -w
) no diretório ~/scripts.
Desta forma, apesar do diretório ~/scripts estar no $PATH e poder ser executado diretamente, o shell irá substituir *.txt por todos os arquivos que terminem em .txt apenas no diretório corrente ($PWD
).
Uma solução para o seu caso, supondo que você queira buscar apenas e sempre no diretório ~/scripts, seria colocar ele fixo no shell script da seguinte forma: wc -w ~/scripts/*.txt | grep total
.