1 votes

Suppression des caractères précédant le deuxième trait de soulignement dans les noms de fichiers

J'ai un tas de fichiers et je voudrais supprimer tous les caractères précédant le deuxième trait de soulignement dans les noms de fichiers. Un exemple est présenté ci-dessous. Comment puis-je faire cela en utilisant les commandes bash ?

[De]

021_D05_53715-F.ab1
021_D06_53936-F.ab1
022_C06_53935-F.ab1
030_C08_53993-F.ab1
048_A12_54057-F.ab1

[À]

53715-F.ab1
53936-F.ab1
53935-F.ab1
53993-F.ab1
54057-F.ab1

-1voto

jsd Points 636

Bash peut déterminer où se trouve le dernier caractère de soulignement à l'aide d'une expression régulière, puis vous pouvez utiliser l'extraction de sous-chaînes pour obtenir la partie du nom de fichier qui vous intéresse. Quelque chose comme ceci :

#!/bin/bash

file="021_D05_53715-F.ab1"
pos=`expr "$file" : '^.*_'`
newfile=${file:$pos}
echo "$file -> $newfile"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X