[英]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
。
你需要使用a
, m
, c
或B
這給時間上次訪問文件或修改。
看來您正在尋找:
stat -c %y $filename
或這個:
date -r $filename
或此(最便於攜帶):
fn=$filename perl -e 'print scalar localtime((stat("$ENV{fn}"))[9])'
另一方面, stat -c %y
已經在您的帖子中,您寫道:
我認為,所有功能都可以正常工作,除了顯示的不僅僅是日期。 我將使用什么命令僅顯示上次修改的日期?
這讓我認為也許您只想要日期部分? 一種(惰性)解決方案是使用諸如cut
, awk
, sed
類的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
無法做到這一點,但是date
和perl
可以,例如:
date +%Y-%m-%d -r $filename
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.