Saya mendapat banyak file di beberapa direktori (bersama dengan banyak file lainnya) yang ingin saya pindahkan.
Untungnya, semua file yang ingin saya pindahkan berisi pengidentifikasi tertentu dalam namanya, jadi saya bisa ls | grep IDENTIFIER
mendapatkan daftar file yang tepat untuk dipindahkan.
Tapi, bagaimana saya bisa mengeksekusi mv file /path/to/dest/folder/
sekaligus, dan tidak satu per satu (ada banyak file untuk dipindahkan)?
sumber
mv file1 file2 ... destination
ls
.Anda dapat menggunakan wildcard .
Contoh: Untuk memindahkan semua file yang berekstensi .doc
mv *.doc /path/to/dest/folder/
Ini akan memindahkan semua file doc di bawah direktori saat ini ke tujuan tertentu.
Sunting
Untuk menjawab komentar.
mv *.ext *.xml *.txt /path/to/dest/folder/
sumber
ABC-IDENTIFIER-XYZ.ext
dan beberapa hanyaIDENTIFIER-XYZ.ext
semua memiliki ekstensi yang berbeda, sebagian besarxml
atauproperties
..xml
file lain (misalnya) saya tidak ingin pindah.Jika Anda ingin memindahkan satu set file yang tidak relevan (tidak ada pola umum dalam nama dan tipe) yang dapat Anda lakukan seperti yang dikatakan Tn. Rajanand: pertama buka direktori yang berisi file yang ingin Anda pindahkan
Jika file tersebar di direktori yang berbeda, Anda hanya perlu menentukan path untuk setiap file dalam perintah move
sumber
Saya menggunakan teknik tuomaz, tetapi sedikit dimodifikasi:
Saya menemukan ini lebih mudah untuk diingat dan lebih sulit untuk dikacaukan karena menggunakan urutan yang sama seperti operasi vanilla mv:
sumber
mv
tidak menyebutkan-t
opsi.Gunakan perintah ini:
Namun, ls tidak dianjurkan untuk penggunaan seperti ini. Gunakan perintah find saja.
sumber
ls
tidak disarankan untuk penggunaan seperti ini. Jika Anda ingin membuat daftar file, terutama digrep
belakang, gunakanfind . -name \*IDENTIFIER\*
.ls
Jika Anda memiliki begitu banyak file untuk dipindahkan, Anda sebenarnya dapat memiliki terlalu banyak untuk
mv
perintah (atau perintah lain sepertirm
). Saya sarankan menggunakanxargs
untuk memindahkan setiap file secara individual dalam satu lingkaran seperti mode. Salah satu cara untuk menyiasatinya adalah dengan melakukan:The
ls -1
(minus satu) memastikan bahwa hanya ada satu nama file pada setiap baris. Jika Anda memiliki alias tersembunyi untukls
perintah, Anda dapat memiliki beberapa nama file pada satu baris dan secara tidak sengaja memindahkan file yang tidak ingin Anda pindahkan.sumber
Jika file-file tersebut dalam dir yang sama dapat Anda gunakan
(diuji di Ubuntu 16.04)
sumber
perintah ini akan memindahkan nama file dengan pola / rentang apa pun ke direktori target.
misalnya.
itu akan memindahkan file dengan nama seperti
file1
,file2
...file50000
ketarget-directory
.sumber
Anda dapat menggunakan output dari ls untuk diinput ke dalam mv commnad
mv $(ls | grep IDENTIFIER) /path/to/dest/dir
Perintah antara
$()
mengembalikan daftar nama file yang cocok dengan pencarian Anda, dan itu dapat diberikan sebagai parameter untuk perintah mv.sumber
ls
Dengan menggunakan perintah ini, Anda dapat memindahkan banyak file.
mv SourceFilenames ~DestinationPath
sumber
Cara termudah adalah seperti ini
atau direktori
atau kedua file dan direktori
Semoga ini membantu
sumber