Jika saya memiliki di bawah dua tanggal:
2015-09-12,2015-08-13
Dan saya perlu mendapatkan jumlah hari di antara mereka, saya akan menggunakan kode di bawah ini:
awk -F'[-,]' '{print 360*($4-$1)+30*($5-$2)+($6-$3)}'
Output untuk kode ini akan -29
sementara sebenarnya perbedaannya29
bash
text-processing
awk
Eng7
sumber
sumber
sqrt(x^2)
baik-baik saja, tetapisqrt(x)^2
dapat memperkenalkan kesalahan kecil yang dapat menyebabkan kejutan. Untuk busyboxawk
, itu harus dibangun dengan dukungan matematika diaktifkan (bukan default dalam paket Debian misalnya).sqrt(x^2)
.Cara lain:
sumber
Dengan asumsi Anda menggunakan GNU
awk
,mktime
fungsi funky berguna di sini.sumber
Untuk terlambat, tapi di sini ada solusi menggunakan
date
perintah GNU yang tidak didasarkan pada 30 hari tetap setiap bulan bahwa semua jawaban yang diposting di atas menganggapnya tetapi jawaban steve .Untuk input di bawah ini:
Outputnya adalah:
sumber