Bash snippet to find files based on a text file?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash snippet to find files based on a text file?
# 15  
Old 04-02-2009
Okay, an update:

I've got it finding 7 out of 10 files now. The other 3? Misspellings in the title.

Here's the code so far:
Code:
#!/bin/bash

mkdir /usr/local/autodj/tmp/10request
cd /usr/local/autodj/tmp/10request

wget http://kjsr.net/requests/weeksong.log
sort weeksong.log > song.srt
grep -v '^$' song.srt > song.log
uniq -c song.log > songcount.tmp
sort -gr songcount.tmp > songcount.srt
cat songcount.srt | sed -e 's/^[ \t]*//' > top10song.tmp
head -10 top10song.tmp > top10song.lst

while read title
do
  title=${title:2}
  title=${title//$'\r'/}
  echo $title
  read file < <(find /mnt/music -iname "*$title*" -print)
  echo $file >> top10.tmp
done < top10song.lst

cat top10.tmp

cd /
rm -Rf /usr/local/autodj/tmp/10request
exit

So. How can I get it to do a "fuzzy match" for mispellings and the like?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash to move specific files to directory based on match to file

I am trying to mv each of the .vcf files in the variants folder to the folder in /home/cmccabe/f2 that the .vcf id is found in file. $2 in file will always have the id of a .vcf in the variants folder. The line in blue staring with R_2019 in file up to the -v5.6 will always be an exact match to a... (4 Replies)
Discussion started by: cmccabe
4 Replies

2. Shell Programming and Scripting

How to find list of missing files based on the file format?

Hi All, In the file names we have dates. Based on the file format given by the user, if any file is not existed for a particular date with in a given interval we should consider that file is missing. I have the below files in the directory /bin/daily/voda_files. ... (9 Replies)
Discussion started by: nalu
9 Replies

3. UNIX for Beginners Questions & Answers

Rename files based on simple text file

Hello! New here although not completely new to Unix. I wonder how I could rename files based on the data found in a simple textfile. It goes like this: I have 4 files 1 ldfgkkfjslkdfjsldkfjsf.wav 2 nndsdflksdjf.wav 3 sdflksjdf jjsdflsdfl.wav 4 dkadsdddd.wav Textfile.txt looks like... (14 Replies)
Discussion started by: Oortone
14 Replies

4. Shell Programming and Scripting

Code snippet to cut XML files based on record length

I want to do FTP an Huge XML file to mainframe server using AIX server Since my file size is huge, i want to split the XML file based on a delimiter , the record delimiter should be set after every 27000 bytes of data and then do the ftp This is done becos the data send to the mainframe must... (1 Reply)
Discussion started by: vishwanath001
1 Replies

5. Shell Programming and Scripting

awk to skip lines find text and add text based on number

I am trying to use awk skip each line with a ## or # and check each line after for STB= and if that value in greater than or = to 0.8, then at the end of line the text "STRAND BIAS" is written in else "GOOD". So in the file of 4 entries attached. awk tried: awk NR > "##"' "#" -F"STB="... (6 Replies)
Discussion started by: cmccabe
6 Replies

6. Shell Programming and Scripting

Rename files based on name in text file

Hello, I have a text file "file.list" with the contents below. file1 filename1 file2 filename2 file3 filename3 file1, file2 and file3 are files existing in the same directory as the text file file.list. I want to rename file1 to filename1, file2 to filename2, as show in the text... (1 Reply)
Discussion started by: james2009
1 Replies

7. Shell Programming and Scripting

Extracting lines from text files in folder based on the numbers in another file

Hello, I have a file ff.txt that looks as follows *ABNA.txt 356 24 36 112 *AC24.txt 457 458 321 2 ABNA.txt and AC24.txt are the files in the folder named foo1. Based on the numbers in the ff.txt file, I want to extract the lines from the corresponding files in the foo1 folder and... (2 Replies)
Discussion started by: mohamad
2 Replies

8. Shell Programming and Scripting

bash script to find date based on search string for continuesly updating file

Hi All, I am very new to UNIX and I have tried this for a longtime now and unable to crack it.... There is a file that is continuously updating. I need to search for the string and find the date @ which it updated every day..... eg: String is "work started" The log entry is as below: ... (1 Reply)
Discussion started by: Nithz
1 Replies

9. Shell Programming and Scripting

Bash script to delete folder based on text file information

I have been working on a script to list all the name's of a subfolder in a text file then edit that text file and then delete the subfolder base on the edited text file so far I have been able to do every thing I just talked about but can't figure out how to delete the subfolers base on a text file... (8 Replies)
Discussion started by: bone11409
8 Replies

10. Shell Programming and Scripting

splitting files based on text in the file

I need to split a file based on certain context inside the file. Is there a unix command that can do this? I have looked into split and csplit but it does not seem like those would work because I need to split this file based on certain text. The file has multiple records and I need to split this... (1 Reply)
Discussion started by: matrix1067
1 Replies
Login or Register to Ask a Question
uucleanup(8)						      System Manager's Manual						      uucleanup(8)

NAME
uucleanup - Deletes selected old files from the uucp spool directory SYNOPSIS
uucleanup [options] FLAGS
If you specify one of the following flags, you must provide a value for days. The default value listed is used if the flag is not speci- fied. Removes any C.*(Command) files as old as or older than the number of days specified by days, and sends appropriate information to the requester. The default is 7 days. The -C and -W flags cannot be combined. Removes any D.*(Data) files as old as or older than the number of days specified in days. Also attempts to deliver any remaining mail messages. The default is 7 days. Includes a specified line of text in the warning message generated by the -W flag. The default line is: We have been unable to contact machine machine_name since you queued your job. The -m flag can be used only with the -W flag. Removes files in addition to those specified by the -C, -D, and -X flags that are as old as or older than the number of days specified in days. The default is 2 days. Executes uucleanup only on the spool directory specified by system. The default is to clean up all uucp spool directories. Note that system names can contain only ASCII characters. Removes TM.* (Temporary) files as old as or older than the number of days specified by the days argument. Also attempts to deliver any remaining mail messages. The default is 7 days. Sends a mail message to the requester warning that C*. files as old as or older than the number of days specified in days are still in the spool direc- tory. The message includes the job ID and, in the case of mail, the mail message. The administrator can use the -m flag to include a message line telling who to call to check the problem. The default is 1 day. Removes any X.*(Execute) files as old as or older than the number of days specified in days. The default is 2 days. Displays debugging information on the screen of the local termi- nal; level must be an integer from 0 to 9. The higher the number, the more detailed the debugging information. DESCRIPTION
The uucleanup program removes outdated files from the spool directory /usr/spool/uucp. The uucleanup program scans the /usr/spool/uucp spool directory for old files and takes appropriate action to remove them in a useful way. The uucleanup command performs the following tasks: Informs the requester of send/receive requests for systems that cannot be reached Warns users about requests that wait more than a specified number of days (the default is 1 day) Returns mail that cannot be delivered to the sender Removes all other files older than a specified number of days from the spool directory. The uucleanup program is not usually invoked from the command line, but is executed by the shell procedure uudemon.cleanu located in /usr/lib/uucp, which in turn is started by the cron script located in /usr/adm/cron/crontabs/uucp. Only someone with superuser privileges can issue the uucleanup command from the command line. To enable automatic cleanup, edit the file /usr/adm/cron/crontabs/uucp. Remove the # (number sign) from the beginning of the uude- mon.cleanu line. EXAMPLES
To locate files, enter: # uucleanup -W2 This form of the command locates C.* (Command) files 2 or more days old and warns the requesters that the files have not been sent. To send a message with a warning, enter: # uucleanup -W2 -mContact the System Admin about these files This form of the command locates C.* (Command) files 1 or more days old (the default), warns requesters their files have not been sent, and gives them the message: Contact the System Admin about these files. To clean up command files that are 8 or more days old, enter: # uucleanup -C8 This form of the command removes all C.* (Command) files 8 or more days old and sends an appropriate message to the requesters. Other uucp spool files are removed based on the default value for that type. To clean up data and execute files, enter: # uucleanup -D7 -X3 This form of the command removes all D.* (Data) files 7 or more days old (the default) and all X.* (Execute) files older than 3 days and attempts to deliver all undelivered mail. Remaining uucp spool files are removed based on the default value for that type. To clean up other files, enter: # uucleanup -o2 This form of the command removes uucp spool files according to their default values except for other files, which are removed if 2 days or older. To clean up all files at once, enter the command without flags: # uucleanup This form of the command removes all C.*, D.*, and X.* files, and all other files older than the default times. To clean up files for system hera, enter: # uucleanup -shera -C5 This form of the command removes all C.* files 5 or more days old and the other uucp spool files according to their default files for system hera (the files are in /usr/spool/uucp/hera/*). FILES
Specifies the command path. File that starts uudemon.cleanu shell procedure. Contains all the configuration files for uucp, and the uude- mon.cleanu shell procedure. Schedules uucp jobs for the cron daemon, including the uudemon.cleanu shell procedure. Contains files removed by the uucleanup command. RELATED INFORMATION
Commands: cron(8), uucp(1), uustat(1), uux(1) delim off uucleanup(8)