Pelajari cara memformat tanggal dan waktu untuk digunakan dalam skrip shell atau sebagai variabel bersama dengan contoh format yang berbeda.

Ada banyak kali Anda perlu menggunakan tanggal dalam skrip Shell Anda, mis. untuk menamai file log, meneruskannya sebagai variabel, dll. Jadi kita memerlukan format tanggal yang berbeda yang dapat digunakan sebagai string atau variabel dalam skrip kita. Dalam artikel ini, mari kita lihat cara menggunakan tanggal dalam skrip shell dan jenis format apa saja yang dapat Anda gunakan.
- Periksa perintah timedatectl untuk mengatur tanggal &waktu dengan mudah di Linux
Bagaimana cara menggunakan tanggal dalam skrip shell?
Anda dapat menggunakan tanggal dengan memasukkan eksekusi shell di dalam perintah. Misalnya, jika Anda ingin membuat file log dengan memasukkan tanggal saat ini di dalamnya, Anda dapat melakukannya dengan cara berikut –
root@kerneltalks # echo test > /tmp/`date +%d`.txt root@kerneltalks # ls -lrt -rw-r--r--. 1 root root 5 Sep 10 09:10 10.txt
Pada dasarnya Anda harus melewati pengidentifikasi format dengan +%
to date perintah untuk mendapatkan format output yang Anda inginkan. Ada pasokan perintah tanggal pengenal yang berbeda.
Anda bahkan dapat menyimpan format tanggal tertentu ke beberapa variabel seperti –
root@kerneltalks # MYDATE=`date +%d.%b.%Y` root@kerneltalks # echo $MYDATE 10.Sep.2018
Variabel format berbeda untuk perintah tanggal
Pengidentifikasi format ini berasal dari perintah tanggal man
halaman :
%a locale’s abbreviated weekday name (e.g., Sun) %A locale’s full weekday name (e.g., Sunday) %b locale’s abbreviated month name (e.g., Jan) %B locale’s full month name (e.g., January) %c locale’s date and time (e.g., Thu Mar 3 23:05:25 2005) %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g, 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %N nanoseconds (000000000..999999999) %p locale’s equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale’s 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC %S second (00..60) %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) %x locale’s date representation (e.g., 12/31/99) %X locale’s time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year %z +hhmm numeric timezone (e.g., -0400) %:z +hh:mm numeric timezone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %Z alphabetic time zone abbreviation (e.g., EDT)
Dengan menggunakan kombinasi di atas, Anda bisa mendapatkan format tanggal yang Anda inginkan sebagai output untuk digunakan dalam skrip shell! Anda bahkan dapat menggunakan %n
untuk baris baru dan %t
untuk menambahkan tab di output yang sebagian besar tidak diperlukan karena Anda akan menggunakannya sebagai string tunggal.
Contoh format tanggal yang berbeda
Untuk kenyamanan Anda dan siap digunakan, saya mencantumkan kombinasi di bawah ini untuk format tanggal yang berbeda.
root@kerneltalks # date +%d_%b_%Y 10_Sep_2018 root@kerneltalks # date +%D 09/10/18 root@kerneltalks # date +%F-%T 2018-09-10-11:09:51 root@kerneltalks # echo today is `date +%A` today is Monday root@kerneltalks # echo Its `date +%d` of `date +%B" "%Y` and time is `date +%r` Its 10 of September 2018 and time is 11:13:42 AM