Ngày giờ trong Linux bash [đã đóng]


26

Tôi đang cố gắng hiển thị thời gian ngày ở dạng

07/08/2013 16:52:13

bằng cách sử dụng lệnh trong bash script:

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

biến nào được sử dụng để điền vào tệp CSV.

Char duy nhất được chấp nhận là "_" (gạch dưới) hoặc "-" giữa ngày và thời gian, đầu ra là

07/08 / 2013_16: 52: 13

Làm thế nào tôi có thể có được một khoảng trống giữa ngày và thời gian? Tôi đã cố gắng gần như (tôi hy vọng) tất cả mọi thứ.


5
” Và “-” là những nhân vật chỉ được chấp nhận bởi _who ? Điều gì ngăn bạn thay thế chuỗi _ _ bằng cách dateđịnh vị trong chuỗi định dạng?
manatwork

Không có gì ngăn cản việc đưa "" vào lệnh, chúng chỉ không xuất hiện trong đầu ra. Hãy thử ngày + "% b% e" và bạn sẽ nhận được "ngày 4 tháng 9" (một khoảng trắng) cho ngày hôm nay, không phải là mong muốn 2. Tôi đang sử dụng nó trong một tập lệnh và giải pháp của tôi là thực hiện thao tác trong 3 bước (tôi thực sự kết hợp chúng thành một dòng mã nhưng bạn có ý tưởng).
Jim2B

Với tất cả sự tôn trọng, làm thế nào câu hỏi này nhận được 20 phiếu? Và làm thế nào mà nó vào được hàng đợi mở lại?
G-Man nói 'Phục hồi Monica'

Câu trả lời:


49
#!/bin/bash

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

Đoán vấn đề là trong 'tiếng vang' cho csv.


3
nếu bạn cần mili giây, hãy sử dụng date '+%F %T.%3N'. nếu bạn cần micro giây, sử dụng date '+%F %T.%6N'. nếu bạn cần nano giây, hãy sử dụng date '+%F %T.%N'. %Flà cho ngày, nó cho YYYY-MM-DD, bạn có thể sử dụng %Dthay vì để có được MM-DD-YYYY, %Tlà cho thời gian , HH:MM:SS.
tính toán ngày

4

Những công việc này:

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

Cũng có thể sử dụng $()thay vì `và`.


Tôi quên đề cập đến nó đi sai sau khi áp dụng awk / home / pi / SB_tool / sunnybeamtool / bin / sunnybeamtool -l | awk -v tot = $ tot -v dt = $ dt -v day = $ day -v mth = $ mth 'lỗi sau 08/08/2013 23:03:03 awk: dòng 1: lỗi cú pháp tại hoặc gần:
Henry

Giải quyết bằng cách sắp xếp 2 giá trị riêng biệt dt và tm. awk không chấp nhận 1 biến với 2 giá trị được phân tách bằng dấu cách
Henry
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.