web-dev-qa-db-fra.com

Supprimez le premier n caractère du groupe de noms de fichiers avec Cut

J'utilise 

ls | cut -c 5- 

Cela retourne une liste des noms de fichiers au format que je veux, mais n'exécute pas réellement l'action. S'il vous plaît donnez votre avis.

23
Ridalgo
rename -n 's/.{5}(.*)/$1/' *

Le -n sert à simuler; retirez-le pour obtenir le résultat réel.

34
Aman

vous pouvez utiliser la commande suivante lorsque vous vous trouvez dans le dossier dans lequel vous souhaitez renommer:

rename -n -v  's/^(.{5})//' *

-n est pour aucune action et -v pour montrer quels seront les changements. si vous êtes satisfait des résultats, vous pouvez les supprimer tous les deux

rename 's/^(.{5})//' *
18
armtatoo

Quelque chose comme ça devrait marcher:

for x in *; do
    echo mv $x `echo $x | cut -c 5-`
done

Notez que cela pourrait être destructif, alors lancez-le d'abord, puis supprimez la echo au début une fois que vous êtes sûr qu'il fait ce que vous voulez.

2
legoscia

Si vous recevez un message d'erreur disant:

renommer n'est pas reconnu comme nom d'une applet de commande

Cela pourrait fonctionner pour vous,

get-childitem * | rename-item -newname { [string]($_.name).substring(5) }
0
Saumil