pergunta muito básica, ls um diretório diferente e salvar o arquivo

1

Eu realmente não consigo entender onde estou dando errado com a pergunta dele. A primeira parte é.

Lista todos os nomes de arquivos e diretórios em / etc que possuem 1 ou mais números em seus nomes. Lembre-se de usar "-d" no comando ls e não descer em subdiretórios (ou seja, sem recursão). Salve essa lista no diretório home do caine como um arquivo chamado "digit". Faça o comando "ls" quando CDed para / etc, assim seus nomes evitam ter "/ etc /" preso na frente deles.

O que é feito com o seguinte comando:

ls -d *[0-9]* > digit

No entanto, a segunda parte da pergunta é:

Refaça a pergunta anterior, exceto que desta vez repita o exercício quando gravada em / home / caine. Salve a saída em digit2. "digit" e "digit2" devem ser idênticos, exceto em "digit2" todos os nomes de arquivos começarão "/ etc /".

Eu achei que o código a seguir funcionaria;

ls -d ../../etc/ *[0-9]* > digit2

Quando pinto o conteúdo do arquivo, parece que ele ignorou os parâmetros que defini usando os * e números, tentei mover a instrução e não consigo entender por que isso não está funcionando.

Qualquer conselho ou pref uma explicação sobre onde eu estou indo errado seria muito apreciado.

Eu sei que isso poderia ser conseguido com o grep, mas mesmo que eu tenha passado para isso e esteja aprendendo, eu ainda gostaria muito de saber como eu não consigo obter a sintaxe certa para isso!

    
por Sirus 10.11.2012 / 19:48

1 resposta

4

Você adicionou um espaço extra, que divide seu glob em dois argumentos separados:

ls -d ../../etc/ *[0-9]* > digit2
#               ^ space

Deve ser

ls -d /etc/*[0-9]* > digit2

Não há necessidade de ../.. , a menos que você realmente goste de ver todos os pontos no arquivo.

    
por 10.11.2012 / 19:51