Como criar um comando “find” para encontrar arquivos * .pages, * .key e * .numbers corrompidos?

2

Eu tenho três tipos de arquivos do tipo *.pages , *.key e *.numbers .

  1. Arquivos não corrompidos: tudo Ok.
  2. Arquivos corrompidos tipo I: Onde o programa correspondente pode exibir o texto, mas todas as imagens são perdidas.
  3. Arquivos corrompidos tipo-II: Onde o programa correspondente não pode mais abrir os arquivos.

Eu gostaria de criar dois arquivos .txt , um listando o caminho de todos os arquivos com corrupção tipo I e um listando o caminho de todos os arquivos com corrupção do tipo II.

Eu criei este comando find que me fornece um arquivo type-II.txt com o caminho completo dos arquivos de corrupção do tipo II:

find . \( -name "*.pages" -or -name "*.numbers" -or -name "*.key" \) -and -size 102c > type-II.txt

E eu criei esse outro comando find me fornece um arquivo tipo-I-e-II.txt com o caminho completo dos arquivos de corrupção tipo I e tipo II

find . -type f -name "Properties.plist" > type-I-and-II.txt

Qual seria o comando a ser usado no terminal para fornecer um arquivo type-I.txt listando o caminho apenas dos arquivos corrompidos do tipo I?

    
por wba 03.09.2016 / 08:16

1 resposta

0

Um arquivo na listagem tipo-II.txt é um caminho e um nome de arquivo, por exemplo, ./document.pages . Se o mesmo arquivo ocorrer na listagem tipo-I-e-II.txt , ele será listado como ./document.pages/Metadata/Properties.plist .

Use este comando para criar type-I.txt que lista arquivos em tipo-I-e-II.txt que não estão listados em tipo- II.txt :

sed 's|/Metadata/Properties.plist$||' type-I-and-II.txt | sort - type-II.txt | uniq -u > type-I.txt

O comando sed remove "/Metadata/Properties.plist" dos nomes de arquivos na listagem tipo-I-e-II.txt . A saída do comando sed é passada para o comando sort . O comando sort combina os dois arquivos em uma lista classificada. O comando uniq seleciona apenas os arquivos que ocorrem uma vez na lista classificada, ou seja, arquivos listados em tipo-I-e-II.txt , mas não em tipo-II.txt .

    
por 03.09.2016 / 11:18