Sponsored Content
Top Forums Shell Programming and Scripting File Move & Sort by Name - Kick out Bad File Names & More Post 302981768 by Nvizn on Monday 19th of September 2016 09:40:43 AM
Old 09-19-2016
File Move & Sort by Name - Kick out Bad File Names & More

I have a dilemma, we have users who are copying files to "directory 1." These images have file names which include the year it was taken. I need to put together a script to do the following:
  1. Examine the file naming convention, ensuring it's the proper format (e.g. test-1983_filename-123.tif) Ensuring the naming convention is in the correct format, doesn't include incorrect characters, filename out of order, etc. (this is in case a user adds a file/image with the incorrect naming convention)
  2. Rejects any images that are incorrectly named.
  3. Determine what year is in the filename (e.g. 1983)
  4. Search a different filesystem/location to see if that current directory exist (e.g. 1983 - year directory)
    1. If so, copying file to that location.
    2. If not, create directory (directory named year, e.g. 1983), then copy file to that location.


"Directory 1" will potentially have 1000's of files to process and sort.


I currently have a bash script that determines whether files exist within "directory 1," places them into a directory by today's date, then moves them to a different filesystem/location. I need the script to vet each filename, and move it to the respective directory named by the year. I'm most uncertain about how to vet the filenames. Any assistance is greatly appreciated!

Last edited by rbatte1; 09-19-2016 at 11:12 AM.. Reason: Converted text list into formatted numbered list with sub-lettered list and correcting spelling
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

File Compare & Move between 2 servers

Greetings - I am a newbie in shell scripts. I have been thru the whole forum but there has been no similar query posed. The objective of my system is to have a unified filebase system. I am using RSync to synchronise files between the location & central server with both of them having the... (4 Replies)
Discussion started by: evolve
4 Replies

2. Shell Programming and Scripting

Finding & Moving Oldest File by Parsing/Sorting Date Info in File Names

I'm trying to write a script that will look in an /exports folder for the oldest export file and move it to a /staging folder. "Oldest" in this case is actually determined by date information embedded in the file names themselves. Also, the script should only move a file from /exports to... (6 Replies)
Discussion started by: nikosey
6 Replies

3. Shell Programming and Scripting

Sort & Split records in a file

Hi, I am new to scripting. I need a script to sort and the records in a file and then split them into different files. For example, the file is: H1...................... H2...................... D2.................... D2.................... H1........................... (15 Replies)
Discussion started by: Sunitha_edi82
15 Replies

4. Shell Programming and Scripting

cp && rm command, rm: <file> not removed. No such file or directory

Hi, I am running this is korn shell cp $source/$fname $dest/dir && rm $source/$fname This was returned: rm: /dir/file not removed: No such file or directory The file could be found in the $dest directory which meant the cp was success. The above code is used in a for loop to move... (5 Replies)
Discussion started by: Leion
5 Replies

5. UNIX for Dummies Questions & Answers

WebDav/davfs mounted file & directory names in all UPPERCASE

Hey, I have a WebDav directory mounted and everything seems fine except for one thing. All file/directory names appear in all UPPERCASE, when in actual fact they are lowercase on the remote machine. For example: foo/bar/baz.html on the remote host, appears on my local machine as... (0 Replies)
Discussion started by: MrMoney
0 Replies

6. UNIX for Dummies Questions & Answers

Search for & edit rows & columns in data file and pipe

Dear unix gurus, I have a data file with header information about a subject and also 3 columns of n rows of data on various items he owns. The data file looks something like this: adam peter blah blah blah blah blah blah car 01 30 200 02 31 400 03 57 121 .. .. .. .. .. .. n y... (8 Replies)
Discussion started by: tintin72
8 Replies

7. Shell Programming and Scripting

replace & with &amp; xml file

Hello All I have a xml file with many sets of records like this <mytag>mydata</mytag> <tag2>data&</tag2> also same file can be like this <mytag>mydata</mytag> <tag2>data&</tag2> <tag3>data2&amp;data3</tag3> Now i can grep & and replace with &amp; for whole file but it will replace all... (4 Replies)
Discussion started by: lokaish23
4 Replies

8. Shell Programming and Scripting

Archive & move the file

I have a set of files in path /ifx01/etldata/lmt/ a.xml b.xml I have to archive & move these files to path /ifx01/etldata/archive ,so that not even the original files should exists. After acrhiving there should be no files in path /ifx01/etldata/lmt/ (6 Replies)
Discussion started by: jagadeeshn04
6 Replies

9. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

10. Shell Programming and Scripting

Want to sort a file using awk & sed to get required output

Hi All, Need Suggestion, Want to sort a file using awk & sed to get required, output as below, such that each LUN shows correct WWPN and FA port Numbers correctly: Required output: 01FB 10000000c97843a2 8C 0 01FB 10000000c96fb279 9C 0 22AF 10000000c97843a2 8C 0 22AF 10000000c975adbd ... (10 Replies)
Discussion started by: aix_admin_007
10 Replies
CALENDAR(1)						    BSD General Commands Manual 					       CALENDAR(1)

NAME
calendar -- reminder service SYNOPSIS
calendar [-ax] [-d MMDD[[YY]YY]] [-f file] [-l days] [-w days] DESCRIPTION
The calendar utility processes text files and displays lines that match certain dates. The following options are available: -a Process the ``calendar'' files of all users and mail the results to them. This requires super-user privileges. -d MMDD[[YY]YY] Display lines for the given date. By default, the current date is used. The year, which may be given in either two or four digit format, is used only for purposes of determining whether the given date falls on a Friday in that year (see below). If the year is not specified, the current year is assumed. -f file Display matching calendar files from the given filename. By default, the following filenames are checked for: ~/calendar ~/.calendar /etc/calendar and the first which is found is used. The filename may be absolute. If not absolute, it is taken relative to the directory speci- fied by the CALENDAR_DIR environment variable, if set; otherwise, it is taken relative to the user's home directory. Or, if the -a flag is given, a non-absolute filename is taken relative to each user's home directory in turn. -l days Causes the program to ``look ahead'' a given number of days (default one) from the specified date and display their entries as well. -w days Causes the program to add the specified number of days to the ``look ahead'' number if and only if the day specified is a Friday. The default value is two, which causes calendar to print entries through the weekend on Fridays. -x Causes calendar not to set the CPP_RESTRICTED environment variable. Passing this flag allows users the (somewhat obscure) option of including a named pipe via cpp(1)'s #include syntax, but opens up the possibility of calendar hanging indefinitely if users do so incorrectly. For this reason, the -x flag should never be used with calendar -a. Lines should begin with a month and day. They may be entered in almost any format, either numeric or as character strings. A single aster- isk ('*') matches every month, or every day if a month has been provided. This means that two asterisks ('**') matches every day of the year, and is thus useful for ToDo tasks. A day without a month matches that day of every week. A month without a day matches the first of that month. Two numbers default to the month followed by the day. Lines with leading tabs default to the last entered date, allowing multi- ple line specifications for a single date. By convention, dates followed by an asterisk are not fixed, i.e., change from year to year. The ``calendar'' file is preprocessed by cpp(1), allowing the inclusion of shared files such as company holidays or meetings. If the shared file is not referenced by a full pathname, cpp(1) searches in the current (or home) directory first, and then in the directory /usr/share/calendar. Empty lines and lines protected by the C commenting syntax (/* ... */) are ignored. Some possible calendar entries: #include <calendar.usholiday> #include <calendar.birthday> 6/15 ... June 15 (if ambiguous, will default to month/day). Jun. 15 ... June 15. 15 June ... June 15. Thursday ... Every Thursday. June ... Every June 1st. 15 * ... 15th of every month. *15 ... 15th of every month. June* ... Every day of June. ** ... Every day FILES
The following default calendar files are provided: calendar.birthday Births and deaths of famous (and not-so-famous) people. calendar.christian Christian holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year. calendar.computer Days of special significance to computer people. calendar.history Everything else, mostly U.S. historical events. calendar.holiday Other holidays, including the not-well-known, obscure, and really obscure. calendar.judaic Jewish holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year. calendar.lotr Important dates in the Lord of the Rings series. calendar.music Musical events, births, and deaths. Strongly oriented toward rock 'n' roll. calendar.netbsd Important dates in the history of the NetBSD project. Mostly releases and port additions. calendar.usholiday U.S. holidays. This calendar should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year. COMPATIBILITY
The calendar program previously selected lines which had the correct date anywhere in the line. This is no longer true, the date is only recognized when it occurs first on the line. In NetBSD 3.0, the calendar command was modified to search the user's home directory instead of the current directory by default. Users desiring the historical behavior should set the CALENDAR_DIR environment variable to ., or use the -f flag. SEE ALSO
at(1), cpp(1), cron(8) HISTORY
A calendar command appeared in Version 7 AT&T UNIX. BUGS
calendar doesn't handle events that move around from year to year, i.e., ``the last Monday in April''. The -a option ignores the user's CALENDAR_DIR environment variable. BSD
August 27, 2009 BSD
All times are GMT -4. The time now is 01:45 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy