Je ces fichiers:Renommer des fichiers en gardant successivement la première partie du nom
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons.csv.0
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons.csv.1
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons.csv.2
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons.csv.3
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons.csv.4
Et je voudrais renommer comme ceci:
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons_1.csv
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons_2.csv
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons_3.csv
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons_4.csv
NIHMS735398-supplement-Supplemental_Table_-_Top_Down_MS_Identificaitons_5.csv
J'ai essayé ce qui suit (et quelques variations) mais nous avons eu aucun succès:
rename -v 's/(NIHMS.+tons).csv.+/\1_[0-9]\.csv/' *.csv*
et
ls *csv* | sed -E 's/(NIHM.+tons)\.csv.*$/\1_{1..5}.csv/'
et
ls *csv* | cat -n | while read n f; do mv "$f" "$f_$n.csv"; done
Le plus proche je suis arrivé utilisait la dernière qui m'a donné comme:
1.csv 2.csv 3.csv 4.csv 5.csv
Je suis sûr que je peux le faire en utilisant python, mais je suis en train via la ligne de commande/bash et de préférence en utilisant regex (que j'essaie d'apprendre mieux).
Cela semble incrémenter les nombres de un, mais la réponse acceptée ne le fait pas. Quel est le comportement désiré vraiment? –
@Benjamin W.J'ai expliqué ce que je voulais en question et j'ai même posté un exemple de la sortie désirée. La dernière chose que j'ai dite était d'illustrer ce que j'ai obtenu ce n'était pas ce que je voulais. –
Oui, selon le résultat souhaité dans la question, la numérotation passe de 0,1,2,3,4 à 1,2,3,4,5, mais la réponse acceptée correspond directement. –