Visit Our UNIX and Linux User Community

Full Discussion: Find and Tar a Folder
Top Forums Shell Programming and Scripting Find and Tar a Folder Post 302564602 by mirni on Friday 14th of October 2011 06:48:22 AM
Old 10-14-2011
Your problem is that you are trying to create a file (archive) with the same name as directory that you are compressing. Remember though, that directories in UNIX are just files, and you cannot create two files with the same name. So basically, you have a name conflict there...

Workaround would be to name archives with some extension like:
Code:
find . -type d -name .... -exec tar -cvpf {}.zipped {} \;

and then delete the dirs and rename the archives. The original dirs can be removed in the same tar command with --remove-files switch, if your version of tar supports it, like:
Code:
find . -type d -name .... -exec tar --remove-files -cvpf {}.zipped {} \;

Then you just need to rename the .zipped archives.

=== EDIT: ===

After rereading your post, i realize all you need is to set the extension. If you invoke your function as
compressOldFolder Folder1

in your example; the find command should be:
Code:
find $1 -mtime +$2 ...<other find options>... -exec tar --remove-files -cvpzf {}.tar.gz {} \;

Because doing
Code:
-exec tar -cvpf {} $1

will try to compress the Folder1 and name the archive Nov2010 (but a file named Nov2010 already exists -- it's the orig dir)

You also want the -z option of tar to create gzipped archive

Last edited by mirni; 10-14-2011 at 08:01 AM.. Reason: -z option missing
This User Gave Thanks to mirni For This Post:
 
Test Your Knowledge in Computers #85
Difficulty: Easy
Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server, and the Xbox One's operating system all used the Windows NT kernel.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

extract tar.gz under a specific folder

Hi, How to extract a tar.gz file and put it under a designated folder that I specify in a one line command? thank you in advance. (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

2. UNIX for Dummies Questions & Answers

Jar/Tar to a diffent folder/same folder w/ filename

Hi, I want to extract myfile.war to a folder which is in the same folder with war file.I did this as normal: jar -xvf myfile.war But it exploded all the content of file to the same level folder instead of that I was expecting to create a folder called myfile. This works with tar: ... (0 Replies)
Discussion started by: reis3k
0 Replies

3. UNIX for Dummies Questions & Answers

tar -cvf test.tar `find . -mtime -1 -type f` only tar 1 file

Hi all, 4 files are returned when i issue 'find . -mtime -1 -type f -ls'. ./ora_475244.aud ./ora_671958.aud ./ora_934052.aud ./ora_934050.aud However, when I issued the below command: tar -cvf test.tar `find . -mtime -1 -type f`, the tar file only contains the 1st file -... (2 Replies)
Discussion started by: ahSher
2 Replies

4. Shell Programming and Scripting

Find all text files in folder and then copy to a new folder

Hi all, *I use Uwin and Cygwin emulator. Im trying to search for all text files in the current folder (C/Files) and its sub folders using find -depth -name "*.txt" The above command worked for me, but now I would like to copy all found text files to a new folder (C/Files/Text) with ... (4 Replies)
Discussion started by: cgkmal
4 Replies

5. Shell Programming and Scripting

Find folder within folder, then find other folder in same dir

Hi all I'm new to your forum but not new to shells. I'm having a little trouble though as it's been quite some time since I scripted. Here's what I'm trying to do: I'm trying to search a directory named '/var/root/Applications' for another directory 'fooBar'. The "Applications" directory... (9 Replies)
Discussion started by: DC Slick
9 Replies

6. Emergency UNIX and Linux Support

Extract particular folder from a .tar format files.

Hi All- I want to extract a particular folder from .tar format files. For example: File Name: backup.tar The backup.tar contains the below folders & files. 1) /root_folder/Folder1/Folder1-1/* 2) /root_folder/Folder1/Folder1-2/* 3) /root_folder/Folder2/Folder2-1/* 4)... (5 Replies)
Discussion started by: k_manimuthu
5 Replies

7. UNIX for Dummies Questions & Answers

tar file from current folder

Hello guys, I am sure this has been asked before, but honestly, I cant find post talking about it. Here is what I need: - A tar file will be generated manually by user - This tar file is then used within a bash shell script My source folder structure is like this: ... (2 Replies)
Discussion started by: manolain
2 Replies

8. UNIX for Dummies Questions & Answers

Tar-ing folders in a folder

How do I create individual tars of a all the directories in a directory? I have a directory called 'patients', each patient has a directory in the patients directory. I want to create tars such that each patient has their own tar file. Thanks! (5 Replies)
Discussion started by: HappyPhysicist
5 Replies

9. UNIX for Dummies Questions & Answers

Do I need to extract the entire tar file to confirm the tar folder is fine?

I would like to confirm my file.tar is been tar-ed correctly before I remove them. But I have very limited disc space to untar it. Can I just do the listing instead of actual extract it? Can I say confirm folder integrity if the listing is sucessful without problem? tar tvf file1.tar ... (1 Reply)
Discussion started by: vivien_chu
1 Replies

10. Shell Programming and Scripting

Untar only folder structure from a tar ball

I have a tar file hello.tar which is 95 GB. hello.tar has many files and folders including some tar files as well. I wish to create a new tar ball which should maintain only the folder structure of hello.tar and the tar ball within the hello.tar So basically the idea is to untar... (2 Replies)
Discussion started by: mohtashims
2 Replies
FOLDER(1)                                                            [nmh-1.5]                                                           FOLDER(1)

NAME
folder, folders - set/list current folder/message SYNOPSIS
folder [+folder] [msg] [-all | -noall] [-create | -nocreate] [-fast | -nofast] [-header | -noheader] [-recurse | -norecurse] [-total | -nototal] [-list | -nolist] [-push | -pop] [-pack | -nopack] [-print] [-verbose | -noverbose] [-version] [-help] folders is equivalent to folder -all DESCRIPTION
Since the nmh environment is the shell, it is easy to lose track of the current folder from day to day. When folder is given the -print switch (the default), folder will list the current folder, the number of messages in it, the range of the messages (low-high), and the cur- rent message within the folder, and will flag extra files if they exist. An example of this summary is: inbox+ has 16 messages ( 3- 22); cur= 5. If a +folder and/or msg are specified, they will become the current folder and/or message. By comparison, when a +folder argument is given, this corresponds to a "cd" operation in the shell; when no +folder argument is given, this corresponds roughly to a "pwd" operation in the shell. If the specified (or default) folder doesn't exist, the default action is to query the user as to whether the folder should be created; when standard input is not a tty, the answer to the query is assumed to be "yes". Specifying -create will cause folder to create new folders without any query. (This is the easy way to create an empty folder for use later.) Specifying -nocreate will cause folder to exit without creating a non-existant folder. Multiple Folders Specifying -all will produce a summary line for each top-level folder in the user's nmh directory, sorted alphabetically. (If folder is invoked by a name ending with "s" (e.g. folders), -all is assumed). Specifying -recurse with -all will also produce a line for all sub- folders. These folders are all preceded by the read-only folders, which occur as "atr-cur-" entries in the user's nmh context. For exam- ple: FOLDER # MESSAGES RANGE CUR (OTHERS) /var/work/folder has 35 messages ( 1- 35); cur=23. /usr/bugs/Mail has 82 messages ( 1-108); cur=82. ff has no messages. inbox+ has 16 messages ( 3- 22); cur= 5. mh has 76 messages (15- 76); cur=70. notes has 2 messages ( 1- 2); cur= 1. ucom has 124 messages ( 1-124); cur= 6; (others). TOTAL = 339 messages in 7 folders The "+" after inbox indicates that it is the current folder. The "(others)" indicates that the folder ucom has files which aren't mes- sages. These files may either be sub-folders, or files that don't belong under the nmh file naming scheme. The header is output if either a -all or a -header switch is specified. It is suppressed by -noheader. The folder and message totals are output if either a -all or a -total switch is specified. It is suppressed by -nototal. If -fast is given, only the folder name (or names in the case of -all) will be listed. (This is faster because the folders need not be read.) If a +folder is given along with the -all switch, folder will, in addition to setting the current folder, list the top-level subfolders for the current folder (with -norecurse) or list all sub-folders under the current folder recursively (with -recurse). If msg is supplied, together with +folder or without -all, it will become the current message of +folder (if it had been supplied) or the current folder. The -recurse switch lists each folder recursively, so use of this option effectively defeats the speed enhancement of the -fast option, since each folder must be searched for subfolders. Nevertheless, the combination of these options is useful. Compacting a Folder The -pack switch will compress the message names in the designated folders, removing holes in message numbering. The -verbose switch directs folder to tell the user the general actions that it is taking to compress the folder. The Folder Stack The -push switch directs folder to push the current folder onto the folder-stack, and make the +folder argument the current folder. If +folder is not given, the current folder and the top of the folder-stack are exchanged. This corresponds to the "pushd" operation in the shell. The -pop switch directs folder to discard the top of the folder-stack, after setting the current folder to that value. No +folder argument is allowed. This corresponds to the "popd" operation in the shell. The -push switch and the -pop switch are mutually exclusive: the last occurrence of either one overrides any previous occurrence of the other. Both of these switches also set -list by default. The -list switch directs folder to list the contents of the folder-stack. No +folder argument is allowed. After a successful -push or -pop, the -list action is taken, unless a -nolist switch follows them on the command line. This corresponds to the "dirs" operation in the shell. The -push, -pop, and -list switches turn off -print. FILES
$HOME/.mh_profile The user profile PROFILE COMPONENTS
Path: To determine the user's nmh directory Current-Folder: To find the default current folder Folder-Protect: To set mode when creating a new folder Folder-Stack: To determine the folder stack SEE ALSO
refile(1), mhpath(1) DEFAULTS
`+folder' defaults to the current folder `msg' defaults to none `-nofast' `-noheader' `-nototal' `-nopack' `-norecurse' `-noverbose' `-print' is the default if no -list, -push, or -pop is specified `-list' is the default if -push, or -pop is specified CONTEXT
If +folder and/or msg are given, they will become the current folder and/or message. BUGS
There is no way to restore the default behavior (to ask the user whether to create a non-existant folder) after -create or -nocreate is given. MH.6.8 11 June 2012 FOLDER(1)

Featured Tech Videos

All times are GMT -4. The time now is 10:49 AM.
Unix & Linux Forums Content Copyright 1993-2021. All Rights Reserved.
Privacy Policy