Sponsored Content
Top Forums Shell Programming and Scripting Bash to select oldest folder in directory automatically and log process Post 302982362 by cmccabe on Wednesday 28th of September 2016 10:42:27 AM
Old 09-28-2016
Bash to select oldest folder in directory automatically and log process

The `bash` below uses the oldest folder in the specified directory and logs it. The goes though an analysis process and creates a log. My problem is that if there are 3 folders in the directory folder1,folder2,folder3, the bash is using folder2 for the analysis eventhough folder1 is the oldest folder in the directory. Is the find command missing something? Also, is there a better way to log the folder used? That portion is in bold. Thank you Smilie.

Bash
Code:
#!/bin/bash

dir=/home/cmccabe/Desktop/NGS/test
{
  read -r -d $'\t' time && read -r -d '' foldername
} < <(find "$dir" -maxdepth 1 -mindepth 1 -printf '%T+\t%P\0' | sort -z -r )
printf "The oldest folder is $foldername, created on $time" "and will be used for analysis on $(date "+%D %r")" >> /home/cmccabe/Desktop/NGS/test/log.txt

logfile=/home/cmccabe/Desktop/NGS/test/$foldername/process.log
for f in /home/cmccabe/Desktop/NGS/test/$foldername/bedtools/*.txt ; do
     echo "Start BedTools target base depth creation: $(date) - File: $f"
     bname=`basename $f`
     pref=${bname%%.txt}
     awk '{ sum += $7; n++ } END { if (n > 0) print sum / n; }' $f > /home/cmccabe/Desktop/NGS/test/$foldername/bedtools/${pref}_depth.bed
     echo "End BedTools target base depth creation: $(date) - File: $f"
done >> "$logfile"

edit: I must have had a typo as it seems fine now... thank you Smilie.

Last edited by cmccabe; 09-29-2016 at 05:37 PM.. Reason: added edit
This User Gave Thanks to cmccabe For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Oldest File In A Directory

I'm writing a script to find the oldest file in a directory. I know this can be done by using ls -rt | tail -1 but these are rather large directories and that can be somewhat slow since the script will be running constantly. Are there any other ways to do this that would be faster? I looked to... (2 Replies)
Discussion started by: bergerj3
2 Replies

2. Shell Programming and Scripting

Removing the oldest file in a directory

Hi all, I need your assistance in removing the oldest file in a directory. I posted the same thread 3 days back and I got the following answer ls -1 -t | tail -1 | xargs rm which is not covering the case when there are directories older than the oldest file. So, could you please... (2 Replies)
Discussion started by: pavan_movva
2 Replies

3. Shell Programming and Scripting

Finding the oldest file in a particular directory

Hi all, I am a newbie to scripting and I need your help regarding finding the oldest file in a particular directory. My intention is to remove that oldest file. Are there any options available with the "find" command to do this.. Thanks in advance for your help Pavan (4 Replies)
Discussion started by: pavan_movva
4 Replies

4. UNIX and Linux Applications

Finding the oldest file in a directory without ls

I am trying to determine the oldest and most recent files in a huge directory. I am using an ls -tr statement outside my find statement. The directory is too big and I am getting an "arg list too long" error. Is there something I can put in my find statement that doesn't create a list to... (2 Replies)
Discussion started by: hiyofjord
2 Replies

5. Shell Programming and Scripting

Bash to select panel then specific file in directory

I am using bash to prompt a user for a choice using: where a "y" response opens a menu with available panels that can be used. while true; do read -p "Do you want to get coverage of a specific panel?" yn case $yn in * ) menu; break;; * ) exit;; * ) echo... (6 Replies)
Discussion started by: cmccabe
6 Replies

6. Shell Programming and Scripting

Bash to select and save file in new directory

I am trying to select a file in bash and save it to a directory. The below does run but no selected file is saved. Thank you :). bash # select file printf "please select a file to analyze with entered gene or genes \n" select file in $(cd... (4 Replies)
Discussion started by: cmccabe
4 Replies

7. Shell Programming and Scripting

Bash to add folder to exsisting folders in directory

I am trying to create subdirectories in each folder in /home/cmccabe/Desktop/NGS/test/*. When I use echo I can see each folder in the directory, but I can not seem to add the commented out portion in bold. These are the sub-directories and sub-folders I am trying to add to each folder in... (1 Reply)
Discussion started by: cmccabe
1 Replies

8. Shell Programming and Scripting

Bash to select oldest folder in directory and write to log

In the bash below the oldest folder in a directory is selected. If there are 3folders in the directory /home/cmccabe/Desktop/NGS/test and nothing is done to them (ie. no files deleted, renamed) then the bash correctly identifies f1 as the oldest. However, if something is done to the folder then... (4 Replies)
Discussion started by: cmccabe
4 Replies

9. Shell Programming and Scripting

Delete oldest folder based on folder named as date

Hi, I have a script doing backup to synology server, the script create new folder each day with the date as being folder name i.e. 2018-07-30. Just before creating the new folder I want the script to find the oldest folder from the list and delete it including its content. for example... (3 Replies)
Discussion started by: humble_learner
3 Replies

10. Shell Programming and Scripting

Bash to check directory and create missing folder from file

In the below bash I am trying to ensure that all folders (represented by $folders) in a given directory are created. In the file f1 the trimmed folder will be there somewhere (will be multiple trimmed folders). When that trimmed folder is found (represented by $S5) the the contents of $2 printed... (19 Replies)
Discussion started by: cmccabe
19 Replies
refile(1)						      General Commands Manual							 refile(1)

NAME
refile - file message in other folders (only available within the message handling system, mh) SYNOPSIS
refile [msgs] [+folder] [options] OPTIONS
Refiles the draft message, or the current message in your +drafts folder, if you have one set up. You cannot give a msgs argument when you use this option. Moves a file into a folder. This option takes a file from its directory and places it in the named folder, as the next message in the folder. The file must be formatted as a legal mail message. This means that the message must have the minimum header fields separated from the body of the message by a blank line or a line of dashes. Prints a list of the valid options to this command. Keeps a copy of the message in the source folder. Normally, refile removes the messages from the original folder when it refiles them. The -link option keeps a copy in the original folder, as well as filing a copy in the new folder. Preserves the number of a message in the new folder. Normally, when a message is refiled in to another folder, it is set to the next available number in that folder. The -preserve option keeps the number of the message the same in the new folder as it had been in the old. You cannot have two messages with the same number in one folder, so you should use this option with care. Specifies the source folder to take messages from. Normally, messages are refiled from the current folder into another folder. However, you can take mes- sages from a different folder by using the -src +folder option to specify the alternative source folder. DESCRIPTION
Use the refile command to move the specified message from the current folder to another folder. You can refile messages in more than one folder by giving multiple folder names as arguments. If you do not specify a message, the current message is refiled. You can refile a message other than the current message by giving its num- ber as a msgs argument. You can also refile more than one message at a time by specifying more than one message number, or a range of mes- sage numbers, or a message sequence. See mark(1) for more information on sequences. The current folder remains the same unless the -src option is specified; in that case, the source folder becomes current. Normally, the last message specified becomes the current message. However, if the -link option is used, the current message is not changed. If the Previous-Sequence: entry is set in the file, in addition to defining the named sequences from the source folder, refile will also define those sequences for the destination folders. See mh_profile(4) for information concerning the previous sequence. PROFILE COMPONENTS
Path: To determine your Mail directory Folder-Protect: To set protections when creating a new folder rmmproc: Program to delete the message EXAMPLES
The following example refiles messages 3 and 5 in the folder +records: % refile 3 5 +records The next example files the current message into two folders: % refile +jones +map The next example takes message 13 in the current folder and refiles it in the +test folder. The mes- sage remains in the current folder as well as appearing in the +test folder. % refile -link 13 +test The next example takes a message from the folder +test when it is not the current folder, and places it in the folder +outbox: % refile 3 -src +test +outbox FILES
The user profile. SEE ALSO
folder(1), mark(1), mh_profile(4) refile(1)
All times are GMT -4. The time now is 09:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy