『壹』 linux追加內容時候添加時間戳
標准錯誤輸出無法直接通過管道傳遞給awk,用個腳本做:
#!/bin/sh
exec 4>&1
# Print timestamp on lines with word "Error"
#php 1.php 2>&1 >&4 1>/dev/null|awk '{if($0 ~/Error/) printf("===%s\t----> ", strftime("%F %H:%M:%S")); printf("%s\n", $0);}'
# Print timestamp on every line.
php 1.php 2>&1 >&4 1>/dev/null|awk '{printf("===%s\t----> %s\n", strftime("%F %H:%M:%S"), $0);}'
exec 4>&-
『貳』 linux時間戳命令
date指令相關用法示例
date 用法: date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
直接輸入date
%H : 小時(00..23)
%I : 小時(01..12)
%k : 小時(0..23)
%l : 小時(1..12)
%M : 分鍾(00..59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到當前為為止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
『叄』 linux 取當前時間前2小時時間
可以用命令 date -d -2hour +%T得到前一小時的時間,關鍵是「-2hour」。
『肆』 linux怎麼將時間戳轉換為時間
可以用date的-d參數,致於函數可以自己寫一個: date命令可以將標準的時間格式轉換成unix時間戳 例如: 12# date -d '2014-11-24 13:10' +%s1416805800同樣也可以使用date命令將unix時間戳轉換成標準的時間格式 例如: 12# date -d '1970-01-01 UTC 1416805800 seconds'Mon Nov 24 13:10:00 CST 2014
『伍』 LINUX下怎樣更新文件夾下所有文件的時間戳
在Linux中,文件沒有「創建時間」這個說法。Linux中的文件的時間屬性只有三個:atime(Access time)、mtime(Modified time)、ctime(Change time)。不過,有時有人把ctime理解為create time(創建時間),這是不對的,為什麼呢?因為,我們知道一個文件的創建時間只有一次,按這個理論,創建時間是不允許修改的,即一個文件一旦創建,它的ctime值就固定不變;但事實呢?是可以改變的。 atime指用戶上次訪問該文件(打開文件查看其中的內容)時的時間,只要一個用戶訪問該文件(不管以什麼方式),atime的值都會改變,比如:修改一個文件的內容,必然要先打開文件,然後才會修改其中的內容,所以,修改一個文件時,不但會更新一個文件的mtime值,也會更新atime的值。 mtime指用戶上次修改該文件中的內容的時間,只要用戶修改該文件中的內容,那麼mtime的值就會被更新。 ctime指該文件的屬性上次被改變時的時間。要想查看文件的屬性,可以通過ls命令查看,比如:ls -l。例如:你修改該文件的許可權了或者改變該文件的硬鏈接數了,ctime的值都會被更新。但是有一點,ctime的值更新,並不代表atime和mtime的值也更新,比如:你修改文件的許可權,但並不代表你訪問或修改了文件中的內容。 在做一些相應的操作時,文件的atime、mtime、ctime的值都會自動被更新。 正如前面所說,這些值是可以改變的,所以,我們可以通過touch命令來修改這三個屬性的值。其實,touch並不是用來創建一個新的、空的文件的,而是用來修改這三個屬性的值的。但為什麼創建一個新的、空的文件呢?這是touch附帶的一個功能,原因是:如果你提供的目標文件參數並不存在的話,那麼touch就會出現錯誤,為了防止這種情況出現,touch命令就會默認創建一個所提供的目標文件參數;其實其他命令也是如此,有些命令,如果用戶沒有為它提供參數的話,它就會從標准輸入設備讀取參數,即讓用戶從標准輸入設備輸入參數,這樣的命令比比皆是。 要想修改一個文件下的所有文件的時間屬性,可以用touch命令,提供一個要修改時間屬性類型的參數和時間值,然後跟著該文件夾下的所有文件,引用方式是使用 *(星號),它可以匹配一個文件夾下的所有文件。
『陸』 linux awk 將文件中時間轉換為時間戳
可以使用awk中的內置函數mktime()
awk'{gsub("-","",$1);printmktime($1"000")}'a.TXT
它會把第一列的字元串 2016-09-26當作 2016-09-26 0:0:0的時間轉化為時間戳,如果不符合時間日期格式的話,轉化後是-1,比如上面的「NULL"字元串,你可以單獨做處理。