GNU/Linux >> Belajar Linux >  >> Linux

Beri tahu `ls` untuk mencetak hanya nama file dasar

Sedangkan xargs -0 dimaksudkan untuk digunakan untuk input yang dibatasi oleh \0 (seperti find -print0 ), ls tidak memiliki opsi untuk membatasi keluarannya dengan cara ini.

Namun,

ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename

akan melakukan trik untuk mengonversi baris baru menjadi nol di sepanjang jalan. Ini kemudian memungkinkan xargs bekerja dengan nama yang memiliki spasi.

EDIT:menambahkan -n 1 ke xargs


Saya menggunakan ini:

ls | tr '\n' '\n'

Ini memberikan daftar seperti:

file1.mp3
file2.mp3
file3.mp3
...

ls -1 <path> | sed 's#.*/##'

Linux
  1. Hanya Mengembalikan String yang Cocok Di Sed?

  2. Bagaimana Memberitahu Gnome Untuk Membaca Ulang ~/.profile?

  3. Apa Arti Tilde (~) Di Akhir Nama File??

  1. Sed:Cetak Hanya Kejadian Pertama Dari Kecocokan Pola?

  2. Bagaimana Mencegah `ls` Dari Menyortir Output?

  3. Temukan Hanya Kejadian Pertama Menggunakan Only Grep?

  1. Tampilan praktis dari perintah xargs

  2. Cetak Garis Pencocokan Dan Garis Ke-N Dari Garis Yang Cocok?

  3. Grep dalam file log besar (>14 GB) hanya x GB terakhir?