簡體   English   中英

顯示上次修改日期

[英]Displaying Last modification date

我需要顯示文件的名稱,大小,硬鏈接數,所有者和修改日期(按此順序)。

#!/bin/csh

echo Enter file name
set filename = $<

if(-f $filename)then

    if(-z $filename)then
      rm $filename
    else 
      clear

      echo $filename
      stat -c %s $filename
      stat -c %h $filename
      stat -c %U $filename
      stat -c %y $filename

    endif
endif

我認為,所有功能都可以正常工作,除了顯示的不僅僅是日期。 我將使用什么命令僅顯示上次修改的日期?

參見man stat

你需要使用amcB這給時間上次訪問文件或修改。

看來您正在尋找:

stat -c %y $filename

或這個:

date -r $filename

或此(最便於攜帶):

fn=$filename perl -e 'print scalar localtime((stat("$ENV{fn}"))[9])'

另一方面, stat -c %y已經在您的帖子中,您寫道:

我認為,所有功能都可以正常工作,除了顯示的不僅僅是日期。 我將使用什么命令僅顯示上次修改的日期?

這讓我認為也許您只想要日期部分? 一種(惰性)解決方案是使用諸如cutawksed類的shell命令來提取所需的內容,例如:

$ stat -c %y sample.txt
2013-10-12 09:24:08.096820646 -0700
$ stat -c %y sample.txt | cut -f1 -d' '
2013-10-12

更好的解決方案是以所需的格式生成日期,但這取決於您使用的命令。 例如, stat無法做到這一點,但是dateperl可以,例如:

date +%Y-%m-%d -r $filename

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM