IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQLite Discussion :

sqlite3 shell script : supprimer du contenu


Sujet :

SQLite

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par défaut sqlite3 shell script : supprimer du contenu
    Bonjour à tous !

    J'essaye de modifier (sur macOS) le fichier de préférences MicrosoftRegistrationDB.reg qui contient (parmi une multitude d'autres paramètres) les fichiers récents de toutes les applications Office 365.

    Je suis capable de lire ou de supprimer la liste entière de ces fameux documents récents, mais je ne sais pas comment supprimer les éléments concernant une seule application.

    Voici le code que j'utilise pour lire la liste complète :
    sqlite3 /Users/username/Library/Group\ Containers/UBF8T346G9.Office/MicrosoftRegistrationDB/MicrosoftRegistrationDB.reg select * from HKEY_CURRENT_USER_values where node_id in (SELECT node_id FROM HKEY_CURRENT_USER_values WHERE name='path');
    Voici comment se présente cet liste :
    (NB: les chemins d'accès aux fichiers commencent parfois par file:/// et parfois par "/")
    1055|Application|1|PowerPoint
    1055|DocumentUrl|1|file:///Users/username/folder/someFile.pptx
    1055|FileName|1|someFile.pptx
    1055|FileSizeInBytes|11|10
    1055|FutureAccessToken|1|XXXXXX
    1055|IsPinned|4|0
    1055|Path|1|HardDrive ‎» Users ‎» username ‎» folder
    1055|StorageHost|4|100
    1055|Timestamp|1|2025-02-07T11:29:36.2200000Z
    1056|Application|1|Word
    1056|DocumentUrl|1|/Users/username/folder/someFile.pptx
    1056|FileName|1|someFile.docx
    1056|FileSizeInBytes|11|10
    1056|FutureAccessToken|1|XXXXXX
    1056|IsPinned|4|0
    1056|Path|1|HardDrive ‎» Users ‎» username ‎» folder
    1056|StorageHost|4|100
    1056|Timestamp|1|2025-02-07T11:29:36.2200000Z
    …/…
    Voici enfin le résultat de la commande .schema :
    CREATE TABLE HKEY_CURRENT_USER (node_id INTEGER PRIMARY KEY ASC, parent_id, name TEXT COLLATE nocase, write_time, UNIQUE (parent_id, name));
    CREATE TABLE HKEY_CURRENT_USER_values (node_id INTEGER, name TEXT COLLATE nocase, type INTEGER, value, UNIQUE (node_id, name));
    CREATE TABLE db_metadata (schema_ver INTEGER, min_schema_ver INTEGER, cache_table BINARY);

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 935
    Par défaut
    Bonjour,

    Je n'ai jamais travaillé sous macOS et Sqlite n'est pas dans mon domaine de prédilection.

    Ceci dit, je pars du principe que la liste fournie est une succession de colonnes séparées par des |
    La liste des colonnes est donnée par l'instruction SELECT *

    Si je comprends bien, le but de la manœuvre est de lister toutes les entrées d'une même "application". Correct ?
    Et si je décode bien le tableau 1055 correspond à l'application PowerPoint alors que 1056 correspond à l'application Word.

    Il faudrait identifier le nom des colonnes afin de faire une requête qui liste toutes les lignes qui corresponde à l'application X
    Le savoir est une nourriture qui exige des efforts.

  3. #3
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 935
    Par défaut
    Citation Envoyé par Michel.Priori Voir le message
    Il faudrait identifier le nom des colonnes afin de faire une requête qui liste toutes les lignes qui corresponde à l'application X
    est-ce que ceci est correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlite3 /Users/username/Library/Group\ Containers/UBF8T346G9.Office/MicrosoftRegistrationDB/MicrosoftRegistrationDB.reg select * from HKEY_CURRENT_USER_values where node_id in (SELECT node_id FROM HKEY_CURRENT_USER_values WHERE name='path' and value='PowerPoint');
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. [Shell] Script pour supprimer des révisions CVS
    Par tamarou04 dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 20/03/2015, 10h35
  2. Supprimer fichier dans shell script
    Par debdarky dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 08/08/2013, 06h57
  3. Réponses: 1
    Dernier message: 29/12/2008, 11h12
  4. Parser une chaine en shell script
    Par Gogoye dans le forum Linux
    Réponses: 10
    Dernier message: 19/07/2004, 18h49
  5. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo