Algo como
shotwell *.cr2 ./
Isso não funciona, mas basicamente eu quero usar o shotwell para abrir todos os arquivos que terminam com .cr2
e no diretório atual (incluindo subpastas)
O contexto é que faltam as fotos que tirei na minha câmera e que foram excluídas do cartão de memória.
Existem miniaturas para eles nas "imagens ausentes" de shotwell, mas não consigo encontrá-las. Então imaginei que correria photorec
para tentar encontrá-los. Como resultado, o photorec me deu um monte de pastas e arquivos, o suficiente para encher meu disco rígido. Em vez de vasculhar todos os arquivos um por um, decidi procurar arquivos .cr2 no meu disco rígido, evitando uma pasta específica chamada Photogs
que eu sei que não os possui porque esses não faziam parte do photorec
despejo de dados.
fonte
Respostas:
Normalmente, você deseja apenas abrir o Shotwell e arrastar a pasta.
Se necessário, você pode fazer com que o shell crie uma lista de arquivos CR2 e diga à Shotwell para abrir apenas esses arquivos. Ocasionalmente, pode ser o que você deseja, mas, neste caso , não fez exatamente o que você precisava devido ao comportamento de Shotwell - em algumas outras circunstâncias, um recurso - de mostrar automaticamente outros arquivos de imagem (de todos os tipos) residentes no mesmas pastas que as imagens que você abriu.
Para garantir que o Shotwell tenha conhecimento apenas das imagens em que você está interessado, você pode clonar a árvore de diretórios em outro lugar, copiando apenas os
.cr2
arquivos e as pastas que os contêm, mas nada mais. Isso pode ocupar espaço adicional substancial, no entanto. Portanto, outra abordagem é construir uma hierarquia de links simbólicos - onde, em vez de ter uma nova árvore de diretórios de cópias dos.cr2
arquivos originais , você tem uma nova árvore de diretórios syminks para eles. Isso ocupa muito menos espaço.Esta resposta cobre todas essas abordagens.
Abrindo uma pasta de imagens (incluindo subpastas) no Shotwell
O próprio Shotwell oferece duas maneiras de abrir uma árvore de diretórios inteira de fotos. Se isso funcionar para você, você não precisará fazer nada inteligente na linha de comando ou nem mesmo usá-lo. Caso contrário, você pode acabar fazendo isso em conexão com outra técnica. (Por exemplo, se você acabar criando um novo diretório de links simbólicos ou cópias de seus
.cr2
arquivos, poderá usar uma destas maneiras para abri-lo.)Caminho 1: Basta abrir a pasta inteira no Shotwell.
Em Shotwell, no menu Arquivo , clique em Importar da pasta . Em seguida, selecione a pasta da qual deseja importar imagens. Isso não se limitará a
.cr2
arquivos, mas se você estiver abrindo arquivos de várias subpastas contendo.cr2
imagens criadas a partir de uma câmera digital, provavelmente esses serão os únicos arquivos presentes.Consulte a resposta de Jakob para Mostrar todas as imagens recursivamente (inclua qualquer subpasta) para obter mais informações.
Caminho 2: Arraste a pasta para Shotwell.
Na maioria dos ambientes de desktop e navegadores de arquivos, você também pode abrir o Shotwell e arrastar a pasta que contém suas imagens para a janela do Shotwell. Como Importar da Pasta , essa é outra maneira pela qual a Shotwell recomenda abrir fotos.
Ao arrastar de uma janela do navegador de arquivos ou da área de trabalho para o Shotwell, você pode arrastar para uma biblioteca específica. Ou, se você não possui várias bibliotecas configuradas, basta arrastar basicamente para qualquer lugar e ele funciona. (Você nem precisa arrastar para o painel esquerdo.)
Esse método é muito conveniente e é tão poderoso quanto selecionar manualmente a pasta (em Arquivo > Importar da pasta , conforme descrito acima). Quando você abre arquivos ou pastas usando um desses métodos , o Shotwell oferece a opção de abrir as fotos sem copiá-las em sua biblioteca.
Para importar sem copiar, clique em Importar no local em vez de Copiar fotos .
Iniciando o Shotwell com uma lista de nomes de arquivos de imagem
Se, por algum motivo, você quiser ou precisar fazer isso executando um comando no Terminal, poderá executar o
shotwell
comando e passar o nome do arquivo de cada imagem para ele como argumento. A Globstar facilita:Isso abre os
.cr2
arquivos localizados em qualquer lugar do diretório atual. É diferente de executar o Shotwell e, em seguida, arrastar a pasta, pois o Shotwell tentará apenas importar os arquivos cujos nomes você deu. No entanto, como o Shotwell geralmente mostra outros arquivos de imagem das mesmas pastas que os arquivos que você pediu para abrir, isso pode não ser adequado às suas necessidades. (E mais informações que você forneceu sobre o seu problema sugerem que não está . Veja abaixo uma alternativa.)Isso não inclui arquivos ou subpastas cujos nomes começam com
.
. No entanto, se você tiver arquivos CR2 cujos nomes começam com um ponto, na maioria das vezes você provavelmente não deseja abri-los no Shotwell. A menos que você tenha deliberadamente nomeado seus arquivos ou pastas dessa maneira, é mais provável que um arquivo de ponto com uma extensão de nome de arquivo de imagem ou documento seja um arquivo de metadados em vez de uma imagem ou documento real. Por exemplo, o macOS geralmente adiciona esses arquivos (por exemplo,._kittens.cr2
para uma imagem realkittens.cr2
) ao acessar mídia externa (incluindo unidades flash e câmeras digitais).Se você também deseja encontrar arquivos cujos nomes começam com
.
ou que estão em pastas cujos nomes começam com.
, ative também o dotglob. Você pode fazer isso comshopt -s dotglob
ou passando ambosglobstar
edotglob
para oshopt
builtin:Por padrão, os globs diferenciam maiúsculas de minúsculas. Mas você pode querer para coincidir com nomes caso insensível , de modo a abrir arquivos que terminam em
.cr2
,.Cr2
,.cR2
, e.CR2
. Para fazer isso, qualquer um:Ative o nocaseglob executando
shopt -s
comnocaseglob
, sozinho ou com outras opções de shell. Por exemplo, para executarshotwell
em todos os.cr2
arquivos, pesquisando sem distinção entre maiúsculas e minúsculas e incluindo.
-files e arquivos em.
-directories:Ou use em
.[cC][rR]2
vez de.cr2
no seu próprio padrão glob. Por exemplo, isso realiza o mesmo que acima:Observe que a distinção entre maiúsculas e minúsculas é totalmente separada da correspondência ou não de
.
arquivos e pastas. Você pode removerdotglob
dos exemplos acima e eles ainda podem fazer distinção entre maiúsculas e minúsculas.Para especificar um diretório, em vez de apenas usar o diretório atual, coloque seu nome e a
/
antes da**/*.cr2
glob. Por exemplo, substituir oshotwell
comando acima por este abrirá todos os.cr2
arquivos dentro doPictures
subdiretório do diretório inicial:Ao contrário do primeiro comando que usa seu diretório atual, não importa onde você execute esse comando, você estará dizendo à Shotwell para abrir os mesmos arquivos.
Teste
Se você realmente precisa usar o terminal para isso, acho que pode fazer parte de algo mais complexo. Se desejar, você pode testar esses comandos antes de executá-los, substituindo-os
shotwell
porprintf '%s\n'
. Em vez de passar os nomes de arquivos para Shotwell, os lista um por linha. Por exemplo, na minha máquina:Desativando o Globstar e outras opções de shell
A opção shell do globstar foi ativada para funcionar, que foi o que o
shopt -s globstar
comando (acima) fez. Se já estiver ativado, não será necessário vários comandos. E você só precisa definir o globstar uma vez por instância do shell.Você pode desativar o globstar executando:
E você pode verificar se a globstar está ativada ou desativada executando:
Se você estiver usando o globstar em um script, considere desativá-lo novamente, se houver um código que vem depois no mesmo script que não foi escrito com o globstar em mente. Por exemplo, escrever
**
quando você quer dizer*
geralmente não é um problema quando o globstar está desativado, mas com o globstar ativado, pode causar sérios problemas ao fazer um comando afetar muito mais arquivos do que alguém pretendia.Da mesma forma, se você usou dotglob ou nocaseglob e deseja desativá-los, pode fazê-lo com
shopt -u dotglob
eshopt -u nocaseglob
, respectivamente. Você também pode passar várias opções de shellshopt -u
para desmarcá-las ao mesmo tempo. Por exemplo, para desativarglobstar,
dotglob
enocaseglob
:Comparado à globstar, há menos erros sérios que você pode cometer, porque se esqueceu de deixar o dotglob ou nocaseglob ativado. Mas outras pessoas (incluindo pessoas que você consulta em sites como o Ask Ubuntu) geralmente assumem que o dotglob e o nocaseglob estão desativados quando sugerem comandos para você usar, a menos que você diga o contrário.
Para obter mais informações sobre essas opções de shell relacionadas ao glob (e também sobre globs em geral ), consulte o manual de referência do bash . Todos são abordados principalmente no 4.3.2 The Shopt Builtin . Para globstar, consulte também 3.5.8.1 Correspondência de padrões . Para dotglob, consulte também 3.5.8 Expansão do nome do arquivo .
Criando uma nova árvore de diretórios
Como no seu caso, você realmente precisa que o Shotwell mostre apenas
.cr2
arquivos, não possui.cr2
arquivos nas mesmas pastas que os.cr2
arquivos, e a navegação por imagens no Shotwell também oferece esses arquivos automaticamente , parece que você precisará de uma pasta que não contém outros arquivos de imagem além dos que.cr2
você está tentando abrir.Mover os arquivos, como você sugeriu , é uma abordagem, mas eu recomendo copiar os arquivos ou, melhor, criar links simbólicos para os arquivos (consulte também FOLDOC ), porque:
Também há outra decisão a ser tomada. Você cria todas as novas entradas (sejam cópias ou links simbólicos) no mesmo diretório, nivelando a hierarquia de arquivos? Ou você cria diretórios no destino correspondente a cada um dos diretórios na origem que contêm pelo menos um
.cr2
arquivo?Achatar a hierarquia de arquivos permite que você veja todos os arquivos de uma só vez, facilmente. Em particular, é fácil ver os nomes e tamanhos dos arquivos de uma só vez, bem como selecionar qualquer combinação dos arquivos em um navegador de arquivos gráfico.
Mas também perde informações sobre em quais pastas elas estavam, o que pode ser valioso (embora você possa retornar à pasta original e procurá-las lá se não mover os arquivos).
O maior problema com o nivelamento da hierarquia de arquivos, porém, é o que acontece se você tiver dois ou mais arquivos com o mesmo nome em locais diferentes . Se você nivelar a hierarquia do arquivo, dependendo de como você o fizer, todos, exceto o primeiro, não serão copiados (ou vinculados) e você receberá um erro ou aviso, ou todos, exceto a última cópia (ou link) ser substituído .
Esse é outro motivo pelo qual recomendo copiar ou criar links simbólicos, em vez de mover arquivos. Se você "mover" com êxito vários arquivos para o mesmo arquivo, perderá todos, exceto o último!
Devido às desvantagens de achatar tudo em um único diretório sem subdiretórios, as abordagens adotadas aqui criam uma nova árvore de diretórios no destino.
Caminho 1: Copiando
Mostro isso primeiro porque é um pouco mais simples, mas sugiro que você crie links simbólicos ("Caminho 2"), especialmente se a unidade de destino não tiver espaço suficiente para armazenar todos os arquivos. O "Caminho 2", que é um pouco mais complicado, é muito mais detalhado, porque parece haver menos recursos sobre como usar essa técnica, é o que eu espero que a maioria das pessoas nessa situação prefira e as informações que se aplicam aos dois métodos - conselhos básicos sobre como escapar de espaços nos caminhos - são dados lá e não aqui.
Quando você precisa copiar uma árvore de diretórios e personalizar a operação de cópia, geralmente deve usar em
rsync
vez decp
. Este é um daqueles casos.Substituindo
src
pelo caminho para o diretório de nível superior que contém todos os seus arquivos CR2 e substituindodest
pelo nome do diretório que você deseja criar que conterá uma hierarquia de links simbólicos para os arquivos CR2, execute:Não esqueça o
/
depois do nome do diretório de origem, a menos que você queira criar um diretório de nível superior adicionaldest
. Ou seja, se você omitir a trilha/
,rsync
criará o diretório de destino para você, dentrodest
. Por exemplo, suponha quesrc
seja um caminho relativo que não contém/
. Então:src/
seursync
comando, você obtém um link simbólicodest/foo/bar.cr2
para o arquivosrc/foo/bar.cr2
.src
seursync
comando, você obtém um link simbólico para o arquivo .dest/src/foo/bar.cr2
src/foo/bar.cr2
Como pode ser confuso para o diretório de nível superior, onde os links simbólicos serão colocados com o mesmo nome que o diretório de nível superior que contém os
.cr2
arquivos para os quais os links simbólicos apontarão, eu recomendo que você inclua/
no final do destino nome do diretório em seursync
comando. (E, para o diretório de origem, atribua a ele um diretório que esteja vazio, que não exista ou que seja dedicado a esse propósito. Caso contrário, você estará bagunçando alguma outra pasta.)Como é geralmente o caso quando você passar o nome de um arquivo ou diretório para um programa de linha de comando ou script, se o seu destino ou origem os caminhos de diretório conter espaços em branco (ou caracteres tratados especialmente pelo shell, como
\
,$
,'
, e vários outra pontuação), então você terá que citá-las . Eu detalhei como fazer isso, no caso mais comum de espaços, no "Caminho 2" - os conselhos sobre citações nessa seção se aplicam aqui também. No entanto, se você não tiver certeza de como citar o nome de uma pasta, pode fazer com que o Ubuntu faça isso simplesmente arrastando a pasta para o Temrminal; seu caminho completo será colado com a cotação correta .Depois de copiar apenas os
.cr2
arquivos e as pastas que os contêm, você pode abrir a pasta de destino em Shotwell. (Consulte "Abrindo uma pasta de imagens (incluindo subpastas) no Shotwell" acima.) No entanto, antes de executarrsync
, recomendo que você decida se deseja pular as entradas que começam com.
e se deseja incluir entradas com sufixos de variante de maiúsculas e minúsculas. Nesse caso, você terá que executar algumrsync
comando ligeiramente diferente .Personalizando o manuseio de entradas pontilhadas e a distinção entre maiúsculas e minúsculas
Você pode usar um
rsync
comando diferente para alterar se os arquivos e diretórios que começam com um ponto são ignorados e se deseja ou não a distinção entre maiúsculas e minúsculas na correspondência do sufixo.cr2
.O comando acima faz incluir diretórios e arquivos cujos nomes começam com
.
. Para excluir esses arquivos e diretórios, colocar--exclude='.*/' --exclude='.*'
antes de todas as outras--include
s e--exclude
s. Ou seja, use estersync
comando (com as substituições apropriadassrc
edest
, é claro):Os
rsync
comandos mostrados até agora têm sido maiúsculas de minúsculas e não copiar os arquivos que terminam em.CR2
,.Cr2
ou.cR2
em vez de.cr2
. Se você deseja que esses arquivos sejam copiados, será necessário contabilizar isso usando o--include
padrão*.[cC][rR]2
no lugar de*.cr2
.Este terceiro comando não diferencia maiúsculas de minúsculas e (como o primeiro comando) não ignora arquivos e diretórios cujos nomes começam com
.
:Se você adota a abordagem de copiar arquivos
rsync
e não tem certeza de qual desses comandos deseja, sugiro usá- lo se quiser não perder nada. No entanto, você deve estar ciente de que os arquivos de ponto podem conter metadados, e os arquivos de ponto nomeados como imagens podem não ser realmente imagens. Veja as discussões sobre os arquivos de pontos na seção "Iniciando o Shotwell com uma lista de nomes de arquivos de imagem" acima e sobre os arquivos de pontos e a distinção entre maiúsculas e minúsculas no "Caminho 2" abaixo.Este quarto comando é case-insensitive e (como o segundo comando) faz arquivos, pule e diretórios cujos nomes começam com
.
:Caminho 2: Criando links simbólicos
É isso que eu recomendo que você faça, embora o Caminho 1 seja bom se você tiver espaço suficiente na unidade de destino. Você não precisa ler o Caminho 1 para usar isso.
O método apresentado aqui faz uma lista de
.cr2
arquivos e percorre a lista, criando diretórios de destino conforme necessário e preenchendo-os com links simbólicos para cada.cr2
arquivo.Isso é complicado o suficiente para sugerir colocá-lo em um script, em vez de digitá-lo interativamente. Você pode colocar o script onde quiser, mas por conveniência, mostrarei como fazê-lo com o script colocado diretamente na sua pasta pessoal.
Escreva (ou cole) o script.
Crie um arquivo de texto,,
make-symlinks
na sua pasta pessoal. Nenhuma extensão de arquivo é necessária.Você pode fazer isso com qualquer editor de texto, como Vim, Nano, Gedit ou Leafpad. Não use um processador de texto como o LibreOffice Writer. (Você pode fazê-lo executando
cat > ~/make-symlinks
, colando o conteúdo do arquivo e pressionando Ctrl+ Dem uma nova linha, se desejar.)Se você nomear o script como algo diferente
make-symlinks
, certifique-se de usá-lo ao executar comandos que usam o script posteriormente.Coloque isso no arquivo e salve o arquivo. Este script usa globstar, um recurso do Bash explicado acima em "Iniciando o Shotwell com uma lista de nomes de arquivos de imagem" .
Você pode alterar como ele lida com entradas pontilhadas e com distinção entre maiúsculas e minúsculas.
Dependendo das suas necessidades, convém fazer algumas alterações:
Se você não deseja incluir
.cr2
arquivos cujos nomes começam com.
ou que residem em diretórios cujos nomes começam com.
, removadotglob
dashopt
linha.Arquivos e diretórios cujo nome começa com
.
frequentemente são usados para metadados (consulte a seção "Iniciando o Shotwell com uma lista de nomes de arquivos de imagem" acima). Por outro lado, se você quiser ter tudo, ou se houver algo inexplicavelmente faltando que você tem certeza de que existe, mantenha-odotglob
.Se você quiser incluir apenas os arquivos que terminam em exatamente
.cr2
, mas não variantes de casos (.CR2
,.Cr2
e.cR2
), então você deve removernocaseglob
. Como a sua situação envolve recuperação de dados e o Shotwell não mostrará nenhum dos arquivos que você perdeu ao abrir o diretório de links simbólicos - esse é o objetivo desse método, afinal - você provavelmente desejará manternocaseglob
.Torne executável.
Execute este comando para marcar seu script como executável:
Execute-o na fonte e passe o destino como argumento.
Em seguida, mude o diretório para o diretório de origem, ou seja, a pasta de nível superior que contém as imagens. Por exemplo, se eles estiverem no
Pictures
subdiretório do diretório inicial, você executaria:É aqui que você executa o script. Passe o diretório de destino para o script como um argumento da linha de comandos.
Por exemplo, se você deseja que um diretório chamado
cr2s
seja criado na área de trabalho para conter os links simbólicos, execute:Ou se você deseja apenas esse diretório diretamente na sua pasta pessoal:
Ou se você possui uma unidade montada
/media/you/MyDrive
e deseja criar uma pasta nela chamadalinks
para conter os links simbólicos:Mas se a unidade estiver
/media/you/My Drive
(com um espaço), você deverá usar a cotação. Qualquer um desses trabalhos (use apenas um, não execute todos):Mas se você usar
~
para o seu diretório pessoal, não cite isso:make-symlinks
cria o diretório de destino para você, se ele ainda não existir, assim como cria subdiretórios dentro dele. No entanto, ele ainda funciona se o destino já existir.Você pode até executá-lo várias vezes e transmitir o mesmo diretório de destino (por exemplo, se você o interrompeu com Ctrl+ C), apesar de obter
failed to create symbolic link
erros nos links simbólicos que já existem e que podem ser confusos.Você provavelmente não deseja passar o nome de um diretório que já existe e contém arquivos não relacionados (como o diretório inicial)
make-symlinks
. Se você o fizer, pode esperar que um monte de links simbólicos e subpastas sejam criados nele. Você provavelmente deseja usar um novo diretório - ou um que ainda não exista - paramake-symlinks
.Importe a árvore de link simbólico recém-criada para o Shotwell.
Depois de executar
make-symlinks
, basta importar o diretório que você passou para o Shotwell, usando um dos métodos fornecidos na primeira parte desta resposta ( "Abrindo uma pasta de imagens (incluindo subpastas) no Shotwell" ). Por exemplo, você pode abrir o Shotwell e arrastar a pasta.Como todas as entradas na pasta são links simbólicos para
.cr2
arquivos ou diretórios que os contêm, sem outros tipos de arquivos, o Shotwell não deve ver nenhum dos outros arquivos.fonte
O Shotwell percorrerá todas as imagens encontradas em todos os diretórios em que uma imagem está aberta; portanto, usar
find -name '*.cr2' -exec shotwell '{}' +
como sugeri originalmente não ajuda. Como as configurações do Shotwell são bastante limitadas, a única maneira de pensar em abrir apenas os arquivos que você deseja é movê-los para um novo diretório.Você pode usar
find
para isso:Substitua
cp
pormv
se desejar evitar a criação de arquivos duplicados.Notas:
mkdir ~/cr2files
crie um novo diretório em seu diretório pessoalfind
procure recursivamente do diretório atual para baixo na árvore-type f
procure apenas arquivos-iname
procure arquivos por nome, ignorando maiúsculas e minúsculas'*.cr2'
nomes que terminam com.cr2
- use aspas para parar o shell de expandir a glob antes de passar parafind
-not -path './dir/*'
excluirá o conteúdo do diretóriodir
dos resultados{}
representa os caminhos dos arquivos encontrados--
depoiscp
é dizer paracp
não aceitar mais opções, o que evita os nomes de arquivos que começam com-
problemasVocê pode abrir qualquer arquivo no novo diretório com o Shotwell e percorrer todos eles
fonte
Opção 1 - Usando
xargs
quando os nomes de arquivos contêm espaçosComo os comentários abaixo apontaram, o uso
back ticks
(Opção 3 abaixo) será interrompido quando os nomes de arquivos contiverem espaços. O método mais seguro de usar ofind
comando e passar a saída parashotwell
usar axargs
opção é semelhante a este:O
-print0
sinalizador informa ao find para usar\0
delimitadores (caracteres nulos) entre os nomes de arquivos e o-0
sinalizador informaxargs
para esperar esses\0
delimitadores.Reconheça as excelentes respostas encontradas aqui ( Como canalizar a lista de arquivos retornados pelo comando find ) no Stack Overflow.
Opção 2 - Usar
-exec
quando os nomes de arquivos contêm espaçosComo um comentário abaixo aponta, a
-exec
opção também suporta nomes de arquivos que contêm espaços. Outros comentários abaixo apontam que isso é interrompido quando o número de arquivos excede Isso seria assim:Opção 3 - Quando os nomes de arquivos não têm espaços
Antigamente, antes dos nomes dos arquivos terem espaços e se tornarem 256 caracteres, essa opção funcionava bem. Você encontrará essa opção mencionada em muitos outros sites, mas não deve usá-la . No
find
passado , usar o comando e passar a saída parashotwell
era o método mais simples:Isso inicia o
find
diretório atual e inclui todos os subdiretórios:$(...)
dentro do bash..
fornecefind
um ponto de partida, que é o diretório atual. Você poderia passar/home/$USER/Pictures
ou algo mais em vez de.
.-name
diz ao find para procurar nomes de arquivos (não diretórios).shotwell
. ou seja, você pode usá-lo paracat
,head
,tail
e a maioria dos outros comandos populares de Linux.fonte
xargs
e use-0
todos os nomes de arquivo use string NULL como separador #$(
)
sintaxe de substituição de comando à sintaxe de substituição de comando backtick, isso não é relevante para esse problema - ambas falham exatamente da mesma maneira. @Erg Sugiro postar uma nova resposta sobre como fazê-loxargs
. (Colocar a substituição em"
"
também não iria funcionar: todos osfind
resultados seriam passados como um único argumento.)xargs
opçãoStack Overflow
ao escrever esta resposta. Também vou expandir com essa opção. Infelizmente, tive que inicializar com o Windows 8 hoje de manhã para corrigir aNTFS
partição corrompida, de modo que o teste era problemático. Vou atualizar a resposta mais tarde. Obrigado por apontar isso :)-exec
?-exec
opção também :)Eu não sabia que o Shotwell nem abriu arquivos brutos. Estou certo de que você pode obter mais milhas com o digikam ou o darktable. O Digikam vem com alguns componentes do Kde e é um bom gerenciador de fotos. O Darktable vem com muito bons recursos de edição não destrutiva.
fonte
.cr2
arquivos de uma pasta? Nesse caso, isso pode ser valioso, pois o pôster original teve problemas para fazer com que Shotwell mostrasse apenas os.cr2
arquivos. Embora tenha adicionado abordagens adicionais à minha resposta para possibilitar o uso do Shotwell para navegar apenas por esses arquivos e por outros, desconfio bastante que o Shotwell não seja a melhor ferramenta para isso.