Como encontro todos os bancos de dados sqlite dentro de vários arquivos sem terminações de arquivo?

Como encontro todos os bancos de dados sqlite dentro de vários arquivos sem terminações de arquivo?

Eu tenho vários arquivos que possuem apenas hashes como nomes e sem terminações de arquivo. (Para ser mais preciso, é um backup do iPhone.) Eu sei que existem bancos de dados SQLite entre esses arquivos.

Como posso encontrá-los?

Responder1

Como ponto de partida usando o filecomando para identificar o tipo de arquivo:

find . -print0 | xargs -0 file

Resultado:

./.X11-unix:                                                                sticky directory
./.Test-unix:                                                               sticky directory
./test.db:                                                                  SQLite 3.x database

Em seguida, adicione alguns greps para filtrar os resultados.

Responder2

O utilitário fileidentifica arquivos com base em seu número mágico e outras características de identificação.

file <filename>

produzirá algo como

<filename>: SQLite 3.x database

Para obter todos os arquivos de banco de dados sqlite3 em um diretório, você poderia fazer algo como

file * | grep SQLite

informação relacionada