Misalnya, saya ingin menampilkan tanggal dan waktu sekarang sebagai format berikut:
yyyymmddhhmmss
Bagaimana aku melakukan itu? Tampaknya seperti kebanyakan format tanggal dilengkapi dengan -
, /
, :
, dll
Ini dia:
date +%Y%m%d%H%M%S
Seperti yang man date
dikatakan di dekat bagian atas, Anda dapat menggunakan date
perintah seperti ini:
date [OPTION]... [+FORMAT]
Artinya, Anda dapat memberinya parameter format, dimulai dengan a +
. Anda mungkin bisa menebak arti simbol format yang saya gunakan:
%Y
adalah untuk tahun%m
adalah untuk bulan%d
untuk hari iniAnda dapat menemukan ini, dan simbol pemformatan lainnya di man date
.
Contoh sederhana dalam skrip shell
#!/bin/bash
current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;
Tanpa format tanda baca: - +% Y% m% d% H% M% S
Dengan tanda baca: - +% Y-% m-% d% H:% M:% S
"`date +%Y-%m-%d %H:%M:%S`"
memberi sayadate: illegal time format
Jika Anda menggunakan Bash, Anda juga dapat menggunakan salah satu dari perintah berikut:
Anda dapat menggunakan Option
-v varname
untuk menyimpan hasil$varname
daripada mencetaknya ke stdout:Sementara perintah tanggal akan selalu dijalankan dalam subkulit (yaitu dalam proses terpisah) printf adalah perintah bawaan dan oleh karena itu akan lebih cepat.
sumber
%
opsi apa yang dapat Anda berikan, ini tampaknya menggunakandate
perintah. Jadi,man date
akan memberi Anda opsi yang tersedia.Tanpa tanda baca (seperti yang disebutkan @Burusothman):
O / P:
Dengan tanda baca :
O / P:
sumber
Cara menarik / lucu untuk melakukan ini menggunakan ekspansi parameter (memerlukan
bash 4.4
atau lebih baru):sumber