Pertanyaan kecualikan file tertentu dalam ls


Saya ingin menjalankan ls dan mengecualikan file tertentu dalam output.

Ketika saya menjalankan perintah berikut, saya mendapatkan semua file dengan masing-masing pada satu baris:

$ ls -1
file1
file2
file3
temp

Saya ingin menjalankan perintah ini dengan cara yang terlihat

$ ls -1 <insert magic here> temp
file1
file2
file3

36
2017-08-18 14:54


asal




Jawaban:


ls -I <filename>

-I = Abaikan nama file, yaitu, jangan daftar file yang ditentukan.

Untuk mengabaikan lebih dari satu file tambahkan -SAYA sebelum setiap nama file.

ls -I file1 -I file2

Untuk mengabaikan file dengan ekstensi nama mereka, lakukan hal berikut, misalnya.

ls -I "*.jpg" -I "*.svg"

50
2017-08-18 14:57



Jika Anda menggunakan opsi bentuk panjang --ignore Anda dapat memperpanjangnya dengan pola glob, mis. ls --ignore="file?" atau ls --ignore="file*" - steeldriver
Anda dapat menggunakan pola glob dengan bentuk pendek juga dengan mengutip pola - verboze


Bagi saya jika saya menggunakan -I sekali, itu berhasil tetapi jika saya menggunakan dua kali tidak. misalnya: ls -I *.csv bekerja.

Tapi ls -I *.csv -I *.txt tidak berfungsi dan mengembalikan file txt sebagai gantinya.

--mengabaikan melakukan trik untukku. Inilah yang saya butuhkan dan kerjakan.

ls -lhrt --ignore="*.gz" --ignore="*.1"

Itu akan daftar saya file dari folder log di mana itu mengecualikan log cadangan lama.


13
2017-07-13 01:47



mengutip * .csv dalam bentuk karya pertama, misalnya .., ls -I '*.txt'. Alasan mengapa itu tidak berfungsi tanpa tanda kutip adalah karena perluasan shell, yaitu Anda memberi tahu shell untuk mencantumkan semua file csv daripada mengecualikannya. Yang sebenarnya terjadi adalah mengabaikan file .csv dan .1 pertama setelah perluasan, tetapi mencantumkan sisanya - verboze
Kutipan ganda juga berhasil untuk saya. Terima kasih @verboze - user38537


ls --ignore={"*.jpg","*.png","*.svg"}


1
2018-02-13 22:11



Ini hanya menggunakan bash brace ekspansi untuk mendapatkan tiga --ignore pilihan. Anda juga bisa menggunakannya --ignore="*."{jpg,png,svg} - muru