Hapus Semua file kecuali file spesifik dalam bash [duplikat]


Jawaban:


3

Anda harus mengaktifkan extglob.

Misalkan kita memiliki tiga direktori:

$ ls -d */
current/  future/  past/

Tanpa glob yang luas, hal-hal berikut tidak akan dipahami:

$ echo !(current)
bash: syntax error near unexpected token `('

Jika kami mengaktifkan extglob, maka dipahami:

$ shopt -s extglob
$ echo !(current)
future past

Ini berhasil cocok dengan semua file kecuali current.

Perhatikan bahwa tanda seru, !, adalah karakter bash-active. Itu bisa memanggil ekspansi sejarah yang, jika gagal, menghasilkan kesalahan yang Anda amati. Jika Anda tidak menggunakan ekspansi riwayat, Anda mungkin ingin mematikannya: set +H.


Saya menggunakan ekspansi sejarah. Bagaimana cara menggunakan perintah yang sama tanpa bertentangan itu
Reddy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.