2014-10-04 153 views
0

我有許多目錄,所有目錄都包含一個名爲「accepted_hits.bam」的文件。我想將這些文件中的每一個重命名爲「accepted_hits_ID.bam」,其中ID對應於文件所在的目錄名稱。例如,該目錄被命名爲像這樣:重命名所有目錄中的某些文件

drwxr-XR-×3 fr2259 ac_lab 249 10月4日4時33分0

drwxr-XR-×4 fr2259 ac_lab 76 10月3日20時16 1

drwxr-XR-×4 fr2259 ac_lab 76月3 20:29 10

drwxr-XR-×4 fr2259 ac_lab 76 10月3日20時30分11

drwxr-XR-×3 fr2259 ac_lab 249十月3 20:03 12

drwxr-XR-×4 fr2259 ac_lab 76 10月3日20時52 13

,我想的accepted_hits文件被命名

accepted_hits_0.bam

accepted_hits_1.bam

我懷疑有一種聰明的方法可以在命令行上做到這一點,但到目前爲止我還沒有證明這很聰明。任何幫助表示讚賞。

回答

0

對,想通了。在我過去通過計算器的問題最初的搜索,我錯過了這一個: Rename files in multiple directories to the name of the directory

我從使用後的意見寫命令:

在子目錄*;做mv $ subdir/accepted_hits.bam accepted_hits_ $ subdir.bam;完成;

產生以下結果:

drwxrwxr-x。 2 fr2259 ac_lab 0 Oct 4 12:19 0

drwxrwxr-x。 2 fr2259 ac_lab 0 Oct 4 12:19 1

drwxrwxr-x。 2 fr2259 ac_lab 0 Oct 4 12:19 2

drwxrwxr-x。 2 fr2259 ac_lab 0 Oct 4 12:19 3

-rw-r - r--。 1 fr2259 ac_lab 4750137 Oct 4 12:11 accepted_hits_0.bam

-rw-r - r--。 1 fr2259 ac_lab 95087 Oct 4 12:18 accepted_hits_1.bam

-rw-r - r--。 1 fr2259 ac_lab 1095044 Oct 4 12:18 accepted_hits_2.bam

-rw-r - r--。 1 fr2259 ac_lab 470320 Oct 4 12:18 accepted_hits_3.bam

經驗教訓;更難搜索。 :-)

相關問題