📄 ch16_25.htm
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 16] 16.25 Listing Files by Age and Size </TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly & Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly & Associates, Inc."><METANAME="DC.date"CONTENT="1998-08-04T21:38:02Z"><METANAME="DC.type"CONTENT="Text.Monograph"><METANAME="DC.format"CONTENT="text/html"SCHEME="MIME"><METANAME="DC.source"CONTENT="1-56592-260-3"SCHEME="ISBN"><METANAME="DC.language"CONTENT="en-US"><METANAME="generator"CONTENT="Jade 1.1/O'Reilly DocBook 3.0 to HTML 4.0"><LINKREV="made"HREF="mailto:online-books@oreilly.com"TITLE="Online Books Comments"><LINKREL="up"HREF="ch16_01.htm"TITLE="16. Where Did I Put That?"><LINKREL="prev"HREF="ch16_24.htm"TITLE="16.24 Counting Files by Types "><LINKREL="next"HREF="ch16_26.htm"TITLE="16.26 Finding Text Files with findtext "></HEAD><BODYBGCOLOR="#FFFFFF"TEXT="#000000"><DIVCLASS="htmlnav"><H1><IMGSRC="gifs/smbanner.gif"ALT="UNIX Power Tools"USEMAP="#srchmap"BORDER="0"></H1><MAPNAME="srchmap"><AREASHAPE="RECT"COORDS="0,0,466,58"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="467,0,514,18"HREF="jobjects/fsearch.htm"ALT="Search this book"></MAP><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch16_24.htm"TITLE="16.24 Counting Files by Types "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 16.24 Counting Files by Types "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 16<BR>Where Did I Put That?</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch16_26.htm"TITLE="16.26 Finding Text Files with findtext "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 16.26 Finding Text Files with findtext "BORDER="0"></A></TD></TR></TABLE> <HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="SECT1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-0415">16.25 Listing Files by Age and Size </A></H2><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-17815"></A><ACLASS="indexterm"NAME="AUTOID-17818"></A><ACLASS="indexterm"NAME="AUTOID-17820"></A><ACLASS="indexterm"NAME="AUTOID-17822"></A>If you find a large directory, and most of the files are new, thatdirectory may not be suitable for removal, as it is still being used.Here is a script that lists a summary of file sizes, broken down into the time of last modification.<ACLASS="indexterm"NAME="AUTOID-17825"></A>You may remember that <EMCLASS="emphasis">ls -l</EM> will list the month, day, hour, and minuteif the file is less than six months old, and show the month, day, andyear if the file is more than six months old. Using this, the scriptcreates a summary for each of the last six months, and each year forfiles older than that:<ACLASS="indexterm"NAME="AUTOID-17829"></A></P><PCLASS="para"><TABLECLASS="screen.co"BORDER="1"><TR><THVALIGN="TOP"><PRECLASS="calloutlist"> <ACLASS="co"HREF="ch45_12.htm"TITLE="45.12 Parameter Substitution ">${*:-.}</A> <ACLASS="co"HREF="ch09_21.htm"TITLE="9.21 Handle Too-Long Command Lines with xargs ">xargs</A> </PRE></TH><TDVALIGN="TOP"><PRECLASS="screen"> #!/bin/sh# usage: age_files [directory ...]# lists size of files by age## pick which version of ls you use# System V#LS="ls -ls"# BerkeleyLS="ls -lsg"#find ${*:-.} -type f -print | xargs $LS | awk '# argument 7 is the month; argument 9 is either hh:mm or yyyy# test if argument is hh:mm or yyyy format{ if ($9 !~ /:/) { sz[$9]+=$1; } else { sz[$7]+=$1; }}END { for (i in sz) printf("%d\t%s\n", sz[i], i);}' | sort -nr</PRE></TD></TR></TABLE></P><PCLASS="para">The program might generate results like this:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">5715 19913434 19922929 19891738 Dec1495 19901227 Jan1119 Nov953 Oct61 Aug40 Sep</PRE></BLOCKQUOTE></P><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">BB</SPAN></P></DIV></DIV><DIVCLASS="htmlnav"><P></P><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch16_24.htm"TITLE="16.24 Counting Files by Types "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 16.24 Counting Files by Types "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="book"HREF="index.htm"TITLE="UNIX Power Tools"><IMGSRC="gifs/txthome.gif"SRC="gifs/txthome.gif"ALT="UNIX Power Tools"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch16_26.htm"TITLE="16.26 Finding Text Files with findtext "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 16.26 Finding Text Files with findtext "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">16.24 Counting Files by Types </TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="index"HREF="index/idx_0.htm"TITLE="Book Index"><IMGSRC="gifs/index.gif"SRC="gifs/index.gif"ALT="Book Index"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172">16.26 Finding Text Files with findtext </TD></TR></TABLE><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><IMGSRC="gifs/smnavbar.gif"SRC="gifs/smnavbar.gif"USEMAP="#map"BORDER="0"ALT="The UNIX CD Bookshelf Navigation"><MAPNAME="map"><AREASHAPE="RECT"COORDS="0,0,73,21"HREF="../index.htm"ALT="The UNIX CD Bookshelf"><AREASHAPE="RECT"COORDS="74,0,163,21"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="164,0,257,21"HREF="../unixnut/index.htm"ALT="UNIX in a Nutshell"><AREASHAPE="RECT"COORDS="258,0,321,21"HREF="../vi/index.htm"ALT="Learning the vi Editor"><AREASHAPE="RECT"COORDS="322,0,378,21"HREF="../sedawk/index.htm"ALT="sed & awk"><AREASHAPE="RECT"COORDS="379,0,438,21"HREF="../ksh/index.htm"ALT="Learning the Korn Shell"><AREASHAPE="RECT"COORDS="439,0,514,21"HREF="../lrnunix/index.htm"ALT="Learning the UNIX Operating System"></MAP></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -