-2
IM的文件,試圖重命名文件夾中的文件。 TEST1/accepted_hits.bw到test1.bw遞歸重命名的文件夾名稱
IM的文件,試圖重命名文件夾中的文件。 TEST1/accepted_hits.bw到test1.bw遞歸重命名的文件夾名稱
試試這個命令:
find . -iname "accepted_hits.bw" | while read file; do dir=$(basename $(dirname $file)); mv $file ${dir}.bw; done
其中:
find
命令遞歸搜索文件,其名稱是 「accepted_hits.bw」-i
選項表示不區分大小寫|
表示輸出爲find
命令是用於while
命令while read file
循環每行輸入和do
和done
find
命令之間執行命令將輸出:
./a/accepted_hits.bw
./b/accepted_hits.bw
所以命令的塊將執行兩次。第一行的dirname $file
獲得./a
和dir=$(basename $(dirname $file))
是目錄的名稱,在此示例中爲a
。在.
目錄
mv
命令移動文件accepted_hits.bw
並將其重命名爲${dir}.bw
使用man
命令查看每個命令的手冊頁。
你能舉個例子嗎?如果您有./a/accepted_hits.bw,那麼預期結果是./a/a? – Lety
這是什麼問題? – hek2mgl
@賴,我有文件./a/accepted_hits.bw,./b/accepted_hits.bw。現在想要將其更改爲./a.bw和./b.bw – beginner