Ini akan pindah foo.cke direktori baru bazdengan direktori induk bar.
mv foo.c `mkdir -p ~/bar/baz/ && echo $_`
The -ppilihan untuk mkdirakan membuat direktori menengah seperti yang diperlukan.
Tanpa -psemua direktori di jalur awalan harus sudah ada.
Segala sesuatu di dalam backtick ``dieksekusi dan output dikembalikan in-line sebagai bagian dari perintah Anda.
Karena mkdirtidak mengembalikan apa pun, hanya output dari yang echo $_akan ditambahkan ke perintah.
$_referensi argumen terakhir ke perintah yang dieksekusi sebelumnya.
Dalam hal ini, ini akan mengembalikan path ke direktori baru Anda ( ~/bar/baz/) yang diteruskan ke mkdirperintah.
Saya membuka ritsleting arsip tanpa memberikan tujuan dan ingin memindahkan semua file kecuali
demo-app.zipdari direktori saya saat ini ke direktori baru yang disebut
demo-app.
Baris berikut melakukan trik:
mv `ls -A | grep -v demo-app.zip` `mkdir -p demo-app && echo $_`
ls -Amengembalikan semua nama file termasuk file tersembunyi ( kecuali untuk yang implisit .dan.. ).
Simbol pipa |digunakan untuk menyalurkan output dari lsperintah ke grep( utilitas pencarian teks-baris perintah ).
The -vbendera mengarahkan grepuntuk menemukan dan mengembalikan semua nama file tidak termasuk demo-app.zip.
Daftar file itu ditambahkan ke baris perintah kami sebagai argumen sumber ke perintah pindah mv. Argumen target adalah jalur ke direktori baru yang dilewati untuk mkdirmenggunakan referensi $_dan menggunakan keluaran echo.