Bagaimana cara membuat daftar file teks tanpa ekstensi file .txt?

10

Misalnya, bagaimana saya bisa meniru:

ls *.txt

ketika file teks saya tidak memiliki .txtakhir, dan sejauh ekstensi pergi muncul sama seperti banyak jenis file lainnya

Atau, apakah mungkin untuk mendaftar secara khusus hanya file yang tidak memiliki ekstensi file?

pengguna82212
sumber

Jawaban:

8

Untuk mencocokkan file yang tidak memiliki ekstensi sama sekali, Anda dapat menggunakan perintah

ls | grep -v '\.'

Untuk mencocokkan file yang tidak memiliki .txtekstensi, Anda dapat menggunakan perintah

ls | grep -v '\.txt'

Ini akan meneruskan daftar file ke direktori saat ini grep, yang akan menghapus semua nama file yang memiliki .(atau .txtuntuk perintah kedua) di dalamnya.

aku percaya
sumber
Terima kasih! Ini menjawab pertanyaan saya. Selain itu, apakah mungkin untuk menggunakan alat grep yang sama dengan perintah lain? Misalnya, dengan todos? (untuk mengonversi ujung baris)
user82212
1
Ya, grepbisa digunakan dengan perintah apa saja. The |simbol digunakan untuk melewati keluaran dari satu perintah ke yang lain, dan grepakan cocok baris yang memiliki (atau tidak memiliki) teks tertentu. Tetapi jika Anda ingin memodifikasi teks (selain hanya mencetak baris yang cocok), Anda harus melihat pada sedperintah.
iBelieve
Untuk menemukan hanya file teks (tidak termasuk direktori dan binari) gunakan:ls --classify | grep -v '/'.'*'
chaskes
6

Dengan ls -ignore="PATTERN"Anda dapat mengecualikan file dari hasil ls.

Misalnya, ls --ignore="*.txt"untuk mengabaikan file txt.

Vivas84
sumber
3

Cukup negasikan pola Anda (catatan: shopt -s extglobwajib diisi).

Untuk menampilkan semua file tanpa ekstensi:

ls !(*.*)

Untuk menampilkan non- txtfile, coba:

ls !(*.txt)
kenorb
sumber
0

Perintah ls -SX1|lessakan mengurutkan berdasarkan ekstensi dalam satu kolom dan file tanpa satu akan dipindahkan ke atas. Memipis melalui kurang seperti pada contoh disarankan untuk direktori dengan lebih dari beberapa file untuk membatasi output ke layar penuh pada suatu waktu.

Penatua Geek
sumber
0

Saya lebih suka menghindari penggunaan grep untuk operasi listing sederhana.

Untuk menghindari penggunaan grep,

Saya sarankan menggunakan ls !(*.*)untuk menemukan file tanpa ekstensi file, dan

ls -I "*.gz" -I "*.tz" atau ls --ignore={"*.jpg","*.png","*.bmp"}

untuk mengecualikan ekstensi file tertentu

komputasifreak
sumber