
Eu tenho 3 tipos de arquivos do tipo *.pages
, *.key
e *.numbers
.
- Arquivos não corrompidos:tudo ok.
- Arquivos corrompidos tipo I:Onde o programa correspondente pode exibir o texto, mas todas as imagens são perdidas.
- Arquivos corrompidos tipo II:Onde o programa correspondente não consegue mais abrir os arquivos.
Eu gostaria de criar dois .txt
arquivos, um listando o caminho de todos os arquivos com corrupção do tipo I e outro listando o caminho de todos os arquivos com corrupção do tipo II.
Eu criei este find
comando que me fornece um arquivotipo-II.txtcom 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 este outro find
comando que me fornece um arquivotipo-I-e-II.txtcom 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 arquivodigite-I.txtlistando o caminho apenas de arquivos corrompidos do tipo I?
Responder1
Um arquivo notipo-II.txtlistagem é um caminho e um nome de arquivo, por exemplo, ./document.pages
. Se o mesmo arquivo ocorrer notipo-I-e-II.txtlistando está listado como ./document.pages/Metadata/Properties.plist
.
Use este comando para criardigite-I.txtque lista os arquivos emtipo-I-e-II.txtque não estão listados emtipo-II.txt:
sed 's|/Metadata/Properties.plist$||' type-I-and-II.txt | sort - type-II.txt | uniq -u > type-I.txt
O sed
comando remove "/Metadata/Properties.plist" dos nomes de arquivos notipo-I-e-II.txtlistagem. A saída do sed
comando é passada para o sort
comando. O sort
comando combina os dois arquivos em uma lista classificada. O uniq
comando seleciona apenas os arquivos que ocorrem uma vez na lista ordenada, ou seja, arquivos listados emtipo-I-e-II.txtmas não emtipo-II.txt.