2017-02-20 49 views
0

我正在嘗試從啓動的進程中以秒爲單位檢索時間。但是我能夠得到的只是一天,而不是完整的日期時間。下面是我所做的事情:如何在shell腳本中捕獲完整的dataTime?

ps --user <user Name> -o uid,pid,lstart,cmd:50 --no-heading | 
    tail -n +2 | 

    while read PROC_UID PROC_PID PROC_LSTART PROC_CMD; do 

    echo $PROC_LSTART 

    done 

週四
週二
週五
週四
週四

While the lstart should give me something like : 

週四1月26日9時00分21秒2017年

回答

1

的「讀取「命令讀取空格字符作爲字段分隔符,因此它將讀取lstart輸出爲五個單獨的字段,而不是si字段。試試這個:

ps --user <user Name> -o uid,pid,lstart,cmd:50 --no-heading | tail -n +2 | 
while read PROC_UID PROC_PID PROC_L1 PROC_L2 PROC_L3 PROC_L4 PROC_L5 PROC_CMD; do 
    echo $PROC_L1 $PROC_L2 $PROC_L3 $PROC_L4 $PROC_L5 
done 
+0

這有幫助。有沒有辦法改變分隔符? –

+0

很高興我能幫到你。要回答你的最新問題,是的,使用AIX格式描述符,但不幸的是它們不支持LSTART字段(至少在我使用的CentOS 6上)。看到這個線程:http://stackoverflow.com/questions/3114741/generating-a-csv-list-from-linux-ps – Leslie

+0

真棒..謝謝你 –

相關問題