Sponsored Content
Full Discussion: Touch Challenge
Top Forums UNIX for Dummies Questions & Answers Touch Challenge Post 302682183 by raggmopp on Sunday 5th of August 2012 06:19:27 PM
Old 08-05-2012
Yes, you can include the option(s) to find that allow you to sort alphabetically, numerically, chronologically, etc. Example, you may be looking for files between 45 days and 90 days and you want them sorted chronologically;
Code:
find . -mtime +45 -mtime -90 -type f -exec ls -lart {} \;

(assuming you are already in the cwd and you do not have too many files that forces you to use xargs)

The 'ls -lart' will sort chronologically (date) in ascending order.

From the list that is generated you can execute the 'touch' command, or the 'cp' command, or the 'mv' command, or the 'tr' command, etc. Using the example from above;

Code:
find . -mtime +45 -mtime -90 -type f -exec ls -rt {} \; | while read line
do
<your commands>
done

Find type files that are between 45 and 90 days old (that would be mtime - when the file was last modified) and sort them by date in ascending order (if you leave off the 'la' from 'ls -lart' you are left with 'ls -rt' - you will not see the perms and dates but it is still sorting). The resulting files are then piped through a while loop and each line is read individually and that allows you to act on each line depending on some condition, i.e., the date. The <your commands> can be your touch command, acting on each line that is produced from the output of the find command.

As I mentioned above, if you have too many files you will need to use the xargs with your find command.

The find command by itself will do just that, find what you are looking for. Options added to the find command allow you to find files/directories based on some conditional, the "-mtime" or "-type" for example. Using the "-depth" option with find will allow you to find . files (hidden) as well.

The find command can be very simple or it can be very complex; you could have it sort, convert upper to lower, reverse the file names, etc. It's what you include with the find command that allows you to be choosy.

Almost always, there is more than 1 way to do things in UNIX/Linux. You may find another way to do what you want that we did not list here. And that is usually good, you are thinking instead of just copying what we said.

You may choose to use a perl 1 liner to identify and select the files you want.
Code:
find . -depth | perl -lne 'print if /1st date/ && /2nd date/ &&

and so on ...

Last edited by raggmopp; 08-05-2012 at 07:31 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

safeword challenge

Hi, there are some servers here at work which issue a Safeword challenge after I login. Can anyone tell me exactly how the challenge/response system works? In particular, how are the valid keys decided? (2 Replies)
Discussion started by: blowtorch
2 Replies

2. Shell Programming and Scripting

camma challenge (in ksh)

Hi Gurus, I am a starter in ksh scripting I have a requirment where i need to ucertain that each line contain only 5 occurances of "," (comma) in a CSV file ; I don't want to use perl,is it possible in ksh;; Kindly help I am going to read CSV file and ; redirect all those lines which are... (3 Replies)
Discussion started by: Amresh Dubey
3 Replies

3. Shell Programming and Scripting

AWK Challenge

I have the following text Microsoft iSCSI Initiator version 2.0 Build 3497 Targets List: iqn.2001-05.com.equallogic:0-8a0906-daef43402-138000002a4477ba-grsrv12-extra iqn.2001-05.com.equallogic:0-8a0906-986f43402-520000002b447951-exchange ... (9 Replies)
Discussion started by: netmedic
9 Replies

4. Shell Programming and Scripting

sed replacement, challenge one!!!!

Hi all, Thanks in advanced. This question really bothered me much. What i want is to replace any times of repeated 'TB' to 'T', below is example. It can be fullfil by AWK and perl, but my desire is using SED to realize it. So here means we treat TB as a whole part, which means 's/TB*/T/'... (4 Replies)
Discussion started by: summer_cherry
4 Replies

5. Shell Programming and Scripting

sed xml challenge

I have a web xml file that looks like this: <allinfo> <info> <a>Name1<\a> <b>address1<\b> <c>phone1<c> <\info> <info> <a>Name2<\a> <b>address2<\b> <c>phone2<c> <\info> <\allinfo> I want to use sed to... (2 Replies)
Discussion started by: katrvu
2 Replies

6. Shell Programming and Scripting

regex challenge

Here's a regex substitution operation that has stumped me with sed: How do you convert lines like this: first.key ?{x.y.z} second.key ?{xa.ys.zz.s} third.key ?{xa.k} to: first.key ?{x_y_z} second.key ?{xa_ys_zz_s} third.key ?{xa_k} So i'm basically converting all the... (11 Replies)
Discussion started by: neked
11 Replies

7. Shell Programming and Scripting

Need complex script, anyone up for a challenge?

Default shell is /usr/bin/zsh Script will be running #!/bin/bash Need to pull information from database while using other scripts already made (not by me). Ok, so i need a script pulling certain information about a customer's router interfaces. I am using a ROUTER-DNS-NAME as variable $1 I... (3 Replies)
Discussion started by: ///NNM
3 Replies

8. UNIX for Dummies Questions & Answers

Touch all files and subdirectories (recursive touch)

I have a folder with many subdirectories and i need to set the modified date to today for everything in it. Please help, thanks! I tried something i found online, find . -print0 | xargs -r0 touch but I got the error: xargs: illegal option -- r (5 Replies)
Discussion started by: glev2005
5 Replies

9. Shell Programming and Scripting

PS1 challenge

Ok then i Have a challenge for you : Give me PS1 so that it always display the least 2 levels of directory (except if i am above of course) I want it this way : so if i go to / /home/ /home/user /home/user/whatever /home/user/whatever1/whatever2 my PS1 should respectively... (12 Replies)
Discussion started by: ctsgnb
12 Replies

10. Shell Programming and Scripting

Anyone like a challenge?

I have searched through google, and this forum to try and find the answer, but alas, nothing quite hits the whole answer. I am trying to read the last line (or lines) of some log files. I do this often. The files are named sequentially, using the date as part of the file name, and appending... (18 Replies)
Discussion started by: BatterBits
18 Replies
PAGESIZES(5)							File Formats Manual						      PAGESIZES(5)

NAME
pagesizes - HylaFAX page size definitions DESCRIPTION
The pagesizes database defines the page dimensions and guaranteed reproducible areas (GRA) for well-known page sizes. The GRA is the por- tion of the page that is guaranteed to be imaged during facsimile transmission. This region is typically less than the full page dimen- sions because of paper roller contacts and other mechanical aspects of the printing process in a facsimile machine. All HylaFAX programs that require page size information read the information from this database using a page size name. Documents should be prepared such that the full page dimensions are employed with the imaged area contained within the GRA. The system-wide default page size to use in preparing documents for transmission is given by the ``default'' entry in the database. (NB: the default entry should be placed last so that inverse matches find the real page size name and not the default entry.) The page size database is an ASCII file with the following format. Each entry consists of whitespace-separated fields: name abbrev width height gra-width gra-height top-margin left-margin Fields have the following interpretation: name the full name for the page size; e.g. ISO A4; abbrev an abbreviated version of the full name for use in compact listings such as the receive queue listing printed by faxstat(1); width the full width of the page; height the full height of the page; gra-width the width of the GRA; gra-height the height of the GRA; top-margin the margin between the top of the full page and the top of the GRA; left-margin the margin between the left side of the full page the left side of the GRA. The first two fields must be separated from the subsequent fields by a tab character (possibly followed by more whitespace); this is done to easily permit blank characters to be included in names. Otherwise fields can be separated by any amount of any kind of whitespace. Numbers are all base 10 and in basic measurement units (BMU); defined as 1/1200 x 25.4 millimeters for paper output with a scale factor of one. All fields must be present on a single line; otherwise the entry is ignored. Comments are introduced by the ``#'' character and con- tinue to the end the line. Page size database lookups are either by name or by page dimensions. Lookups by name are done by sequentially scanning the entries in the database for the first entry that has a matching abbreviation or substring of the page size name field. The string comparisons ignore case so, for example, ``a4'' would match a full name of ``ISO A4''. Lookups by dimension scan the entire database and return the page with the closest dimensions using a straightforward distance metric. If the difference in dimensions of the closest match is greater than 1/2 inch on each side, then no page entry is returned for a lookup by dimension. SEE ALSO
hylafax-client(1), faxmail(1), faxstat(1), sendfax(1), sgi2fax(1), textfmt(1). December 5, 1994 PAGESIZES(5)
All times are GMT -4. The time now is 04:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy