1 votes

Renommer des fichiers texte sur la base d'un mot clé contenu dans les fichiers

J'ai de nombreux fichiers dans un dossier avec .txt extension. Maintenant, ils sont nommés aléatoirement par une application, mais je veux renommer chaque fichier texte en fonction des mots écrits dans ces fichiers eux-mêmes après les mots. Name: mais avant le mot Age: .

Un fichier nommé 13765_46748.txt contient :

This is just a test file containing info of each persons.
Name: Pearson Bratts Age: 55 Profession:Technician

Maintenant, je veux que le fichier ci-dessus soit renommé en Pearson Bratts.txt en utilisant Tasker ou toute autre application de script avec un script fonctionnel.

1voto

Grimoire Points 2908

L'intégralité coquille Le script est le suivant. Vous avez besoin d'un Émulateur de terminal mais je vous laisse le soin de le faire.


if [ "$1" == "$(cat /dev/null)" ]; then
 echo "Usage: $0 <file>"
 return 1
fi

content="$(cat '$1')"
content="${content#*Name: }"
content="${content// Age*/}"

mv "$1" "$content.txt"

Ce dernier doit être enregistré dans un quelque chose.sh qui, lorsqu'elle est exécutée, requiert un paramètre supplémentaire. Par exemple, nous supposerons que vous l'appelez renamer.sh et donc l'usage sera :

renamer.sh some/file.txt

. Il renommera le fichier que vous lui donnez, en fonction de son contenu. Il est de votre responsabilité de lui donner le bon fichier, et cela ne fonctionne que pour un fichier par exécution. Il ne fonctionnera pas si le fichier a des espaces dans son nom.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X