Bonjour,
Dans le but de sortir rapidement des données d'une partition ntfs en mauvais état mais dont la MFT est bonne, j'ai passé cette commande pour créer la structure des dossiers:
grep '/Users/Utilisateur' analyseMFT.csv | grep '"Folder"' | cut -d , -f 8 | xargs -I % mkdir -p ${PWD}%
Ca fonctionne, mais je ne trouve pas ma commande propre. Comment faire cela plus proprement?
Les données qui rentrent sont de ce type:
"33668","Good","Active","Folder","96","18257","61","/Users/Utilisateur/Documents/","2019-01-12 14:23:52.880075","2019-01-12 14:40:24.398773","2019-01-12 14:40:24.398773","2019-01-16 18:16:10.299175","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","f4a15d42-165d-11e9-9c42-48e2444e4ab4","00000090-0058-0000-0004-180000000900","00000038-0020-0000-2400-490033003000","00000030-0001-0000-0010-000001000000","Diagramme avec W","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","2019-01-12 14:23:52.880075","","","","","","","","","","","True","False","True","True","False","False","False","True","True","True","False","False","False","False","False","","N","N","N","N","N"
Je n'arrive pas à faire une commande pour extraire des fichiers avec icat. Voici ma commande qui ne fonctionne pas:
grep '/Users/Utilisateur' analyseMFT.csv | grep '"File"' | cut -d , -f 1,8 | xargs -p -I % icat MFT ${echo -ne % | cut -d'"' -f 2} > $PWD${echo -ne % | cut -d'"' -f 4}
Elle est encore plus crade que l'autre 🙂
Voici un exemple de donnée en entrée:
"7747","Good","Active","File","2","6410","2","/Users/Utilisateur/AppData/Local/Packages/unfichier.truc","2016-05-20 17:56:43.087397","2016-07-16 11:42:41.702545","2016-05-20 17:56:43.087397","2017-01-08 13:08:54.037004","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","","","","","Classic_{EF462183-352B-4DCF-811C-07FA7CFCD5AC}.settingcontent-ms","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","2016-05-20 17:56:43.087397","","","","","","","","","","","True","False","True","False","False","False","False","False","False","False","False","False","False","False","False","","N","N","N","N","N"
Je pense que le problème est que ${} il me semble est exécuté dans un sous shell, mais j'aimerais bien que % soit remplacé.
Sinon j'ai aussi essayé:
grep '/Users/Utilisateur' analyseMFT.csv | grep '"File"' | cut -d , -f 1,8 | xargs -p -I % sh -c 'record=${cut -d'"' -f 2 < %};filename=${cut -d'"' -f 4 < %};icat MFT $record > $filename'
mais cela ne fonctionne pas non plus.
Merci d'avance,
Naziel