繁体   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