Ce que vous essayez d'accomplir n'est pas encore tout à fait clair, mais voici un exemple. flux de travail que vous pourriez trouver utile.
Premier flux de travail Automator
- Divisé en deux segments de travail :
Premier segment :
- Demandez les articles Finder
- Renommer les éléments du Finder : Ajouter du texte
- Copier les éléments du Finder
-
Exécuter le Shell script
- Paramètres : Shell : bin/bash et Passer les entrées : comme arguments
- Remplacer le code par défaut avec le code ci-dessous.
- C'est ce qui est utilisé pour enlever jusqu'à et y compris le
$
dans le nom de base de la nom de fichier .
Code pour Exécuter le Shell script action :
cd "$(dirname "$1")"
for f in "$@"
do
mv "$(basename "$f")" "$(printf "$(basename "$f")" | sed -E 's/^.*\$//')"
done
echo "$(ls -1)"
-
Note : Le site
echo "$(ls -1)"
commande n'est pas vraiment nécessaire dans ce cas d'utilisation et a été utilisé dans cet exemple juste pour montrer que les noms de fichiers avaient été changés et pour montrer que dans les Résultats panneau .
-
Mise à jour : Nouveau code pour Exécuter le Shell script action :
Utilisez cette code au lieu de l'original code ci-dessus. Je l'ai modifié pour qu'il soit un peu plus efficace d'avoir à appeler basename
une seule fois, au lieu de deux. (Je n'ai pas mis à jour le code dans le Exécuter le Shell script action dans l'image originale ci-dessous).
cd "$(dirname "$1")"
for f in "$@"; do
n="$(basename "$f")"
mv "$n" "$(printf "$n" | sed -E 's/^.*\$//')"
done
echo "$(ls -1)"
-
Note : Voir aussi le deuxième Automator flux de travail qui figure après l'image originale ci-dessous, ce qui rend inutile l'utilisation de l'outil de gestion de l'image. Deuxième segment : comme son Exécuter le Shell script action est codé pour gérer le renommage qui a lieu dans le deuxième segment, en ajoutant prefix-
et l'échange -proc
pour -suffix
.
Deuxième segment :
-
Demandez les articles Finder
- Options : [] Ignorer l'entrée de cette action
- En cochant cette option, vous verrez, dans l'image ci-dessous, qu'il y a une déconnexion voulue entre l'action précédente et celle-ci.
- Renommer les éléments du Finder : Ajouter du texte
- Renommer les éléments du Finder : Ajouter du texte
Voir l'image ci-dessous pour les autres paramètres applicables de Automator actions comme indiqué dans l'OP.
Comme vous pouvez le voir dans l'image ci-dessous, toutes les actions s'est déroulé avec succès et s'est déroulé comme prévu, avec le volet Résultats de chaque action montrant les résultats de son action .
Deuxième flux de travail Automator
À utiliser à la place du premier flux de travail Automator.
- Demandez les articles Finder
- Renommer les éléments du Finder : Ajouter du texte
- Copier les éléments du Finder
-
Exécuter le Shell script
- Paramètres : Shell : bin/bash et Passer les entrées : comme arguments
- Remplacer le code par défaut avec le code sous l'image.
- Les résultats des trois premiers actions dans cette seconde Automator flux de travail sont exactement les mêmes que celles montrées dans le premier flux de travail ci-dessus, j'ai donc laissé le Résultats panneau caché pour ces actions . Cependant, le Résultats panneau pour le Exécuter le Shell script action montre les résultats souhaités.
Code pour Exécuter le Shell script action dans le deuxième flux de travail Automator :
p='prefix-'
s='-suffix'
t='-proc'
cd "$(dirname "$1")"
for f in "$@"; do
n="$(basename "$f")"
if [[ $n =~ ^.*\$.*${t}\.${n##*.} ]]; then
mv "$n" "${p}$(printf "${n%.*}" | sed -E -e "s/$t/$s/" -e 's/^.*\$//').${n##*.}"
fi
done
echo "$(ls -1)"
- Note de mise à jour : J'ai modifié le code en plaçant le variable des affectations en dehors de la
for
boucle car c'est le seul moyen code que vous devez/voulez modifier si nécessaire (et ils ne doivent pas nécessairement se trouver dans le cadre de l for
boucle ). Je n'ai pas mis à jour l'image de l'Automator flux de travail pour refléter cette mise à jour.
Vous pourriez, si vous le souhaitez, ajouter un second segment différent à ce second segment. flux de travail mais le code dans ce Exécuter le Shell script action élimine la nécessité des deux Renommer les éléments du Finder : Ajouter du texte actions qui étaient dans le deuxième segment du premier (original), flux de travail .
Note : Je mettrai à jour ce texte avec une explication de ce que le code fait dans Exécuter le Shell script action dès que je le pourrai.