我有一個包含1000個文件的文件夾。我如何重新命名文件夾中的文件
他們的名字是像下面
QET2_ P1_A1 _R2 ....
QEX2_ P2_C10 _R2 ....
QEX2_P5_B3_R2 ....
其中只有中間是非常重要的如突出顯示
和我有一個關鍵的.txt文件與此信息相同的文件夾中
Sample P R Col
1 1 A 1
2 1 A 2
3 1 A 3
4 2 A 1
5 2 A 2
6 2 C 10
4 2 A 1
5 2 A 2
我想檢查.txt文件並相應地更改文件的名稱,或使用另一個文件夾中的名稱進行保存。例如
.._ P1_A1_ ..
應SAMPLE1因爲當我看.txt文件,它是
Sample P R Col
1 1 A 1
爲..P2_C10 ..
應sample6因爲當我查看.txt文件時,它是
Sample P R Col
6 2 C 10
要手動更改每個名稱,我可以舉例來說做
mv *_P1_A1* sample1
我也嘗試過使用awk
awk '-f {print "mv *_P"$2"_"$3$4"* sample"$1}' key.txt
做到這一點,但我無法弄清楚,
以便更改是經過數唯一'A',和它對應的樣本? – choroba
你能提供一個更好的樣品嗎? – choroba
'爲f in *;做n = $(echo $ f | cut -d_ -f3); new_name =「sample $(grep」$ {n:0:1} \ t $ {n:1}「)。txt |頭-n1 | (未測試) – Pawamoy