# Trabalhando com arquivos no terminal

Listando:

`ls -l`

Ordenando pela data:

`ls -l --sort=time`

Ordenando inversamente:

`ls -l --sort=time -r`

Exibindo data e hora completos do arquivo:

`ls -l --time-style=full-iso`

Contando quantos arquivos tem na pasta:

`ls | wc -l`

Alterando data de modificação de arquivos:

`touch -d "2 hours ago" filename`

Para remover arquivos com uma determinada extensão em várias sub-pastas, recursivamente:

`find pasta -name '*.extensao' -exec rm -f {} \;`

Obviamente, pode ser usado na pasta atual:

`find . -name '*.extensao' -exec rm -f {} \;`

Encontrando uma linha específica em um arquivo:

`sed -n '12345p' < arquivo.txt`

Procurar arquivos que contenham um texto:

`find . -exec grep -l '_0xaae8' {} \;`

Procurar arquivos que contenham um texto e removê-los:

`find -type f -exec grep -q "foo" {} \; -exec echo rm -- {} \;`

(remova o "echo" para que sejam de fato removidos, caso contrário vai apenas exibir o nome dos arquivos)

(tenho a impressão de que já tenho um comando parecido com esse em algum lugar, mas não tenho certeza)

Fontes: [https://unix.stackexchange.com/questions/1125/how-can-i-get-a-count-of-files-in-a-directory-using-the-command-line](https://unix.stackexchange.com/questions/1125/how-can-i-get-a-count-of-files-in-a-directory-using-the-command-line)

[https://askubuntu.com/questions/62492/how-can-i-change-the-date-modified-created-of-a-file](https://askubuntu.com/questions/62492/how-can-i-change-the-date-modified-created-of-a-file)

[https://superuser.com/a/585403/3154979](https://superuser.com/a/585403/3154979)