basename
adalah utilitas baris perintah yang menghapus direktori dan akhiran akhiran dari nama file yang diberikan.
Menggunakan basename
Perintah #
basename
perintah mendukung dua format sintaks:
basename NAME [SUFFIX]
basename OPTION... NAME...
basename
mengambil nama file dan mencetak komponen terakhir dari nama file. Secara opsional, itu juga dapat menghapus akhiran tambahan apa pun. Ini adalah perintah sederhana yang hanya menerima beberapa opsi.
Contoh paling dasar adalah mencetak nama file dengan direktori utama dihapus:
basename /etc/passwd
Outputnya akan menyertakan nama file:
passwd
basename
perintah menghapus /
. yang tertinggal karakter:
basename /usr/local/
basename /usr/local
Kedua perintah akan menghasilkan output yang sama:
local
local
Secara default, setiap baris keluaran diakhiri dengan karakter baris baru. Untuk mengakhiri baris dengan NUL
, gunakan -z
(--zero
) pilihan.
Beberapa Input #
basename
perintah dapat menerima banyak nama sebagai argumen. Untuk melakukannya, jalankan perintah dengan -a
(--multiple
), diikuti dengan daftar file yang dipisahkan oleh spasi.
Misalnya, untuk mendapatkan nama file /etc/passwd
dan /etc/shadow
Anda akan menjalankan:
basename -a /etc/passwd /etc/shadow
passwd
shadow
Menghapus Akhiran Trailing #
Untuk menghapus akhiran akhiran dari nama file, berikan akhiran sebagai argumen kedua:
basename /etc/hostname name
host
Umumnya, fitur ini digunakan untuk menghapus ekstensi file:
basename /etc/sysctl.conf .conf
sysctl
Cara lain untuk menghapus akhiran akhiran adalah dengan menentukan akhiran dengan -s
(--suffix=SUFFIX
) pilihan:
basename -s .conf /etc/sysctl.conf
sysctl
Bentuk sintaks ini memungkinkan Anda untuk menghapus akhiran akhiran dari beberapa nama:
basename -a -s .conf /etc/sysctl.conf /etc/sudo.conf
sysctl
sudo
Contoh #
Contoh berikut menunjukkan cara menggunakan basename
perintah di dalam bash for
loopuntuk mengganti nama semua file yang dikirim dengan “.jpeg” di direktori saat ini dengan mengganti ekstensi file dari “.jpeg” menjadi “.jpg”:
for file in *.jpeg; do
mv -- "$file" "$(basename $file .jpeg).jpg"
done
Jika Anda menggunakan bash sebagai shell Anda, alih-alih menjalankan basename
, Anda dapat menggunakan strip ekstensi tambahan menggunakan Ekspansi Parameter Shell.
Kesimpulan #
basename
perintah menghapus direktori utama dan akhiran akhiran dari nama.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.