Terkadang, saat mengerjakan baris perintah (terutama saat berurusan dengan skrip shell), Anda mungkin hanya tertarik pada nama file, tetapi yang tersedia untuk Anda adalah jalur lengkap file. Jadi, persyaratannya adalah menghapus komponen direktori path. Anda akan senang mengetahui ada perintah - nama dasar - yang melakukan pekerjaan ini.
Dalam tutorial ini, kita akan membahas dasar-dasar 'basename' menggunakan beberapa contoh yang mudah dipahami. Namun sebelum kita beralih ke itu, perlu disebutkan bahwa semua contoh di sini telah diuji pada mesin Ubuntu 16.04 LTS.
Perintah nama dasar Linux
Perintah basename memungkinkan Anda untuk menghapus komponen dari nama file yang tidak diperlukan. Berikut adalah sintaks alat:
basename NAME [SUFFIX]
basename OPTION... NAME...
Dan inilah yang dikatakan halaman manual tentangnya:
basename - strip directory and suffix from filenames
Print NAME with any leading directory components removed. If specified, also remove a trailing
SUFFIX.
Berikut adalah beberapa contoh gaya Tanya Jawab yang akan memberi Anda ide bagus tentang cara kerja perintah nama dasar.
Q1. Bagaimana cara kerja perintah nama dasar?
Secara default, jika Anda menjalankan perintah 'basename' dengan path lengkap ke file sebagai input, perintah mengembalikan nama file dalam output. Misalnya, ketika saya menjalankan perintah berikut:
basename /home/himanshu/Downloads/analytics.pdf
Saya mendapatkan output berikut:
analytics.pdf
Q2. Bisakah nama dasar menangani banyak masukan?
Ya, itu bisa. Tetapi agar ini terjadi, Anda perlu menggunakan opsi -a baris perintah. Misalnya, ketika saya menjalankan perintah berikut:
basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png
Dan inilah output yang saya dapatkan:
analytics.pdf
test.png
Q3. Bagaimana cara membuat ekstensi file strip nama dasar juga?
Terkadang, Anda mungkin hanya ingin mengambil nama file, tetapi bukan ekstensinya. Nah, ini bisa dilakukan dengan menggunakan opsi baris perintah -s (yang mengharuskan Anda memasukkan sufiks sebagai input).
Misalnya, perintah berikut:
basename -s .pdf /home/himanshu/Downloads/analytics.pdf
menghasilkan output ini:
analytics
Q4. Bagaimana cara membuat setiap keluaran baris diakhiri dengan NUL?
Secara default, karakter baris baru digunakan sebagai pemisah dalam output. Namun, jika mau, Anda dapat memaksa nama dasar untuk menggunakan NUL sebagai pemisah. Ini dapat dilakukan dengan menggunakan opsi baris perintah -z.
Misalnya:
basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png
Dan inilah hasilnya:
analytics.pdftest.png
Jadi Anda tidak melihat karakter NUL di sini. Untuk itu, Anda perlu mengarahkan output ke file, dan kemudian membuka file di editor seperti vim. Inilah yang ditunjukkan vim:
Kesimpulan
Seperti yang Anda lihat, nama dasar bukanlah perintah yang sangat kaya fitur - opsi yang disediakan terbatas, dan sebagian besar telah dibahas di sini dalam tutorial ini. Setelah Anda selesai mempraktikkannya, buka halaman manual alat untuk mempelajarinya lebih lanjut.