的第一部分,我有这些文件:重命名文件顺序保持名称
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
而且我想改名是这样的:
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
我试过以下(和一些变化),但没有得到成功:
rename -v 's/(NIHMS.+tons).csv.+/\1_[0-9]\.csv/' *.csv*
和
ls *csv* | sed -E 's/(NIHM.+tons)\.csv.*$/\1_{1..5}.csv/'
和
ls *csv* | cat -n | while read n f; do mv "$f" "$f_$n.csv"; done
我用的是最后一个,给了最近我喜欢:
1.csv 2.csv 3.csv 4.csv 5.csv
我敢肯定,我可以使用python做到这一点,但我正在努力通过命令行/ bash,最好使用正则表达式(我试图更好地学习)。
这似乎增加了一个数字,但接受的答案没有。真正需要的行为是什么? –
@Benjamin W.我解释了我自己想要的东西,我甚至发布了一个期望输出的例子。我说的最后一件事是举例说明我得到的不是我想要的。 –
是的,根据问题中所需的输出,编号从0,1,2,3,4变为1,2,3,4,5,但接受的答案直接映射。 –