GNU/Linux >> Belajar Linux >  >> Linux

Pindahkan semua file kecuali satu

Cara cepat adalah dengan memodifikasi nama file tux sehingga perintah pemindahan Anda tidak akan cocok.

Misalnya:

mv Tux.png .Tux.png

mv * ~/somefolder

mv .Tux.png Tux.png

Masukkan yang berikut ke .bashrc

Anda
shopt -s extglob

Itu memperluas regex. Anda kemudian dapat memindahkan semua file kecuali satu per

mv !(fileOne) ~/path/newFolder

Pengecualian sehubungan dengan perintah lain

Perhatikan bahwa, dalam menyalin direktori, forward-flash tidak dapat digunakan dalam nama seperti yang diperhatikan di utas Mengapa extglob kecuali melanggar kondisi kecuali?:

cp -r !(Backups.backupdb) /home/masi/Documents/

jadi Backups.backupdb/ salah di sini sebelum negasi dan saya tidak akan menggunakannya baik dalam memindahkan direktori karena risiko penggunaan yang salah lalu menggumpal dengan perintah lain dan kemungkinan pengecualian lainnya.


Jika Anda menggunakan bash dan memiliki extglob kumpulan opsi shell (yang biasanya terjadi):

mv ~/Linux/Old/!(Tux.png) ~/Linux/New/

Saya akan menggunakan cara find &xargs tradisional:

find ~/Linux/Old -maxdepth 1 -mindepth 1 -not -name Tux.png -print0 | 
    xargs -0 mv -t ~/Linux/New

-maxdepth 1 membuatnya tidak mencari secara rekursif. Jika Anda hanya peduli dengan file, Anda dapat mengatakan -type f . -mindepth 1 membuatnya tidak menyertakan ~/Linux/Old jalan itu sendiri ke dalam hasil. Bekerja dengan nama file apa pun, termasuk yang berisi baris baru tersemat.

Satu komentar mencatat bahwa mv -t opsi mungkin adalah ekstensi GNU. Untuk sistem yang tidak memilikinya

find ~/Linux/Old -maxdepth 1 -mindepth 1 -not -name Tux.png \
    -exec mv '{}' ~/Linux/New \;

Linux
  1. Bagaimana Memindahkan Semua File (termasuk Tersembunyi) Dari Satu Direktori Ke Yang Lain?

  2. Hapus Semua File Dalam Satu Folder Kecuali Yang Terakhir (Terbaru) 20?

  3. Gunakan Temukan Untuk Menemukan Direktori Tertentu Dan Hapus Semua File Di dalamnya Kecuali Satu Direktori?

  1. Bagaimana cara memindahkan (dan menimpa) semua file dari satu direktori ke direktori lain?

  2. Bisakah Anda mengubah izin untuk semua file kecuali satu direktori di Linux?

  3. Bagaimana cara menghapus semua file dalam direktori kecuali beberapa?

  1. 3 Cara Menghapus Semua File di Direktori Kecuali Satu atau Beberapa File dengan Ekstensi

  2. Cara Menghapus Semua File Dalam Folder Kecuali Satu File Tertentu Di Linux

  3. Hapus Semua File/direktori Kecuali Satu File?