如何從命令列同時移動多種檔案型別

2019-01-21 22:44:00

前幾天,我想知道如何將多個檔案型別從一個目錄移動(不複製)到另一個目錄。我已經知道如何查詢並將某些型別的檔案從一個目錄複製到另一個目錄。但是,我不知道如何同時移動多種檔案型別。如果你曾遇到這樣的情況,我知道在類 Unix 系統中從命令列執行該操作的一個簡單方法。

同時移動多種檔案型別

想象一下這種場景,你在名為 dir1 的目錄中有多種型別的檔案,例如 .pdf、 .doc、 .mp3、 .mp4、 .txt 等等。我們來看看 dir1 的內容:

$ ls dir1file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4

你希望將某些檔案型別(不是所有檔案型別)移動到另一個位置。例如,假設你想將 .doc、 .pdf 和 .txt 檔案一次性移動到名為 dir2 的另一個目錄中。

要同時將 .doc、 .pdf 和 .txt 檔案從 dir1 移動到 dir2,命令是:

$ mv dir1/*.{doc,pdf,txt} dir2/

很容易,不是嗎?

現在讓我們來檢視一下 dir2 的內容:

$ ls dir2/file.txt mydoc.doc personal.pdf

看到了嗎?只有 .doc、 .pdf 和 .txt 從 dir1 移到了 dir2

在上面的命令中,你可以在花括號內新增任意數量的檔案型別,以將它們移動到不同的目錄中。它在 Bash 上非常適合我。

另一種移動多種檔案型別的方法是轉到源目錄,在我們的例子中即為 dir1

$ cd ~/dir1

將你選擇的檔案型別移動到目的地(即 dir2),如下所示:

$ mv *.doc *.txt *.pdf /home/sk/dir2/

要移動具有特定擴充套件名的所有檔案,例如 .doc,執行:

$ mv dir1/*.doc dir2/

更多細節,參考 man 頁:

$ man mv

移動一些相同或不同的檔案型別很容易!你可以在 GUI 模式下單擊幾下滑鼠,或在 CLI 模式下使用一行命令來完成。但是,如果目錄中有數千種不同的檔案型別,並且希望一次將多種檔案型別移動到不同的目錄,這將是一項繁瑣的任務。對我來說,上面的方法很容易完成工作!如果你知道任何其它一行命令可以一次移動多種檔案型別,請在下面的評論部分與我們分享。我會核對並更新指南。

這些就是全部了,希望這很有用。更多好東西將要來了,敬請關注!

共勉!