Waktu tanggal dalam pesta Linux [ditutup]

26

Saya mencoba menampilkan waktu tanggal dalam bentuk

07/08/2013 16:52:13

dengan menggunakan perintah dalam skrip bash:

dt=`date '+%d/%m/%Y_%H:%M:%S'`

variabel mana yang digunakan untuk mengisi file CSV.

Satu-satunya karakter yang diterima adalah "_" (garis bawah) atau "-" antara tanggal dan waktu, hasilnya adalah

07/08 / 2013_16: 52: 13

Bagaimana saya bisa mendapatkan ruang di antara tanggal dan waktu? Saya mencoba hampir (saya harap) semuanya.

Henry
sumber
5
" " Dan "-" adalah satu-satunya karakter yang diterima oleh _who ? Apa yang menghentikan Anda mengganti "_" dengan "" dalam dateformat string?
manatwork
Tidak ada yang mencegah dimasukkannya "" dalam perintah, mereka tidak muncul di output. Coba tanggal + "% b% e" dan Anda akan mendapatkan "Sep 4" (satu spasi) untuk hari ini, bukan yang diinginkan 2. Saya menggunakannya dalam skrip dan solusi saya adalah melakukan operasi dalam 3 langkah (saya sebenarnya menggabungkan mereka menjadi satu baris kode tetapi Anda mendapatkan idenya).
Jim2B
Dengan segala hormat, bagaimana pertanyaan ini mendapatkan 20 suara? Dan bagaimana cara masuk ke Reopen Queue?
G-Man Mengatakan 'Reinstate Monica'

Jawaban:

49
#!/bin/bash

dt=$(date '+%d/%m/%Y %H:%M:%S');
echo "$dt"

Kira masalahnya ada di 'echo' ke csv.

pengguna1293137
sumber
3
jika Anda membutuhkan milidetik, gunakan date '+%F %T.%3N'. jika Anda membutuhkan mikrodetik, gunakan date '+%F %T.%6N'. jika Anda membutuhkan nanodetik, gunakan date '+%F %T.%N'. %Fadalah untuk tanggal, itu memberi YYYY-MM-DD, Anda dapat menggunakan %Dsebagai gantinya untuk mendapatkan MM-DD-YYYY, %Tadalah untuk waktu HH:MM:SS,.
computingfreak
4

Ini bekerja:

#!/bin/bash
dt=`date '+%d/%m/%Y %H:%M:%S'`
echo "$dt"

Juga dimungkinkan untuk menggunakan $(dan )bukannya `dan`.

Alexander
sumber
Saya lupa menyebutkan bahwa itu salah setelah menerapkan awk / home / pi / SB_tool / sunnybeamtool / bin / sunnybeamtool -l | awk -v tot = $ tot -v dt = $ dt -v hari = $ hari -v mth = $ mth 'mengikuti kesalahan 08/08/2013 23:03:03 awk: baris 1: kesalahan sintaks pada atau dekat:
Henry
Dipecahkan dengan menetapkan 2 nilai terpisah dt dan tm. awk tidak menerima 1 variabel dengan 2 nilai yang dipisahkan oleh spasi
Henry