Sponsored Content
Top Forums Shell Programming and Scripting Decompress (with gunzip) recursively, but do not delete original gz file Post 302487677 by methyl on Thursday 13th of January 2011 07:54:15 AM
Old 01-13-2011
#!/bin/bash

Quote:
shopt -s extglob

for dir in *
do
if [ -d $dir ]
then
echo "--- Entering directory $dir ---"
for file in "${dir}"/*.gz
do
fname=`basename "$file" .gz`
echo "Now processing $fname ..."
gunzip -cv "$fname.gz" > "$fname"
mv -iv "$fname" ~/data
done
fi
done
Assuming that I have understood this correctly, I think that the script contains fundamental design errors which makes it slow. Writing gigabytes using Shell redirect ">" is not a good idea.

It would be considerably faster to copy the zipped files directly to the target directory then unzip in the target directory using "gunzip" (not "gunzip -c") on the file copy. Maybe you had an issue copying the directory tree?

The original process describes copying the original tree, decompressing each file, then copying the decompressed files to the target tree. It is much easier to copy the whole tree of compressed files to the target directory using "find ." piped to "cpio -pdum /target_directory" then decompress in the target directory. This technique for copying files is described in the man pages for "find" and "cpio" - do read both manuals and try on a test system first. Not clear whether there is anything present in the target directories already.

My idea only makes sense if you are copying all files. If ".CP12" files are a selection then we need a different technique. It also matters if the various directories are on different filesystems (because "mv" becomes a copy rather than a rename if they are).

Last edited by methyl; 01-13-2011 at 09:09 AM.. Reason: typos
 

10 More Discussions You Might Find Interesting

1. HP-UX

decompress in HPUX11 by Gunzip and gzip

Hello evrebody , I have HPUX-11, i try to install "Mozilla" and "unzip utillity" I cannot decompress file (F.tar.gz) or file(F.gz) by commandes: gunzip -dv F.tar.gz | tar -xvf gunzip F.tar.gz or gzip -dv F.tar.gz |tar -xvf gzip F.gz maybe someone know What's the reason? maybe i... (1 Reply)
Discussion started by: yanly64
1 Replies

2. UNIX for Dummies Questions & Answers

Decompress a .SP file

Hi to all, I'm new in this forum and I just need a quick answer from the experts out there, I have a 2761.sp file, in short a ".SP" file, it was given to me compressed, and I need to decompress it before Monday. I saw a software named Splint, but it shows an error, a DMI error message, so I dont... (3 Replies)
Discussion started by: jeco
3 Replies

3. Shell Programming and Scripting

Delete original wav file if lame was successful encoding.

In a bash script: src=”cooltrack.wav” dst=”cooltrack.mp3” lame $src $dst I would like to add some line that would delete the source wav file like: rm $src but I would like this only if the encoding was successful. What should I include before deleting the original to check that the... (2 Replies)
Discussion started by: Aia
2 Replies

4. UNIX for Dummies Questions & Answers

Using gunzip to decompress .zip file

Hi, I have a zipped Oralce software (linux.x64_11gR1_database.zip) and I need to unzip it. On the Linux server, I only see the gunzip utility listed: $ ls -ltr *zip* -rwxr-xr-x 3 root root 60320 Jan 15 2008 gzip -rwxr-xr-x 3 root root 60320 Jan 15 2008 gunzip Can I use the command... (1 Reply)
Discussion started by: syang68
1 Replies

5. Shell Programming and Scripting

recursively delete the text between 2 strings from a file

i have 200000bytes size of a unix file i need to delete some text between two strings recursively using a loop with sed or awk . these two strings are : 1st string getting from a file :::2 nd string is fi...its constant . can anyone help me sed -n'/<1 st string >/,/fi/' <input_filename> is the... (2 Replies)
Discussion started by: santosh1234
2 Replies

6. UNIX for Advanced & Expert Users

Delete empty directories recursively - HP-UX

Hi, I want to delete all empty directories in a long directore tree structure. I want to use that from a script that will run on HP-UX 11. My definition of empty directory is that there is no regular file under it and directly beneath it. To elaborate, I have below directories. /app/dev/java... (14 Replies)
Discussion started by: asutoshch
14 Replies

7. Shell Programming and Scripting

How to delete a duplicate line and original with sed.

I am completely new to shell scripting but have been assigned the task of creating several batch files to manipulate data. My final task requires me to find lines that have duplicates present then delete not only the duplicate but the original as well. The script will be used in a windows... (9 Replies)
Discussion started by: chino_1
9 Replies

8. UNIX for Dummies Questions & Answers

How to delete original files after using a tar operation.

I have a list of log files in a directory. Once i tar them I need to remove the original log files. How do i do it? (4 Replies)
Discussion started by: manutd
4 Replies

9. Shell Programming and Scripting

How to decompress files using gunzip?

I have compressed files under directory '/root/data' and i need the uncompressed files in another directory '/root/uncom'. I running a shell script below shell script from directory '/root/' gunzip /root/data/*.gz -d /root/uncom But this is failing with gunzip: /root/uncom is a directory... (2 Replies)
Discussion started by: vel4ever
2 Replies

10. Shell Programming and Scripting

How to decompress files using gunzip?

I have compressed files under directory '/root/data' and i need the uncompressed files in another directory '/root/uncom'. I running a shell script below shell script from directory '/root/' gunzip /root/data/*.gz -d /root/uncom But this is failing with : gunzip: /root/uncom is a directory... (2 Replies)
Discussion started by: hoyanet
2 Replies
gvfs-monitor-dir(1)						   User Commands					       gvfs-monitor-dir(1)

NAME
gvfs-monitor-dir - monitor the change of a directory content using the VFS system SYNOPSIS
gvfs-monitor-dir URI DESCRIPTION
gvfs-monitor-dir monitors the change content of a directory using the VFS system. If anything changes inside the directory, gvfs-monitor- dir will print a message informing of the event. OPERANDS
The following operands are supported: URI Specifies the directory location in standard URI format. EXAMPLES
Example 1: Monitor a local directory example% gvfs-monitor-dir file:///tmp/example ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables: NLSPATH. EXIT STATUS
The exit value 0 is returned regardless of success or failure. FILES
The following files are used by this application: /usr/bin/gvfs-monitor-dir Executable to monitor the change content of a directory using the VFS system. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWgnome-gvfs | +-----------------------------+-----------------------------+ |Interface stability |Volatile | +-----------------------------+-----------------------------+ SEE ALSO
gvfs-copy(1), gvfs-info(1), gvfs-less(1), gvfs-ls(1), gvfs-mkdir(1) gvfs-cat(1), gvfs-monitor-file(1), gvfs-mount(1), gvfs-move(1), gvfs- rename(1), gvfs-open(1), gvfs-rm(1), gvfs-save(1), gvfs-trash(1), gvfs-tree(1), attributes(5), environ(5) NOTES
Written by Alvaro Lopez Ortega, Sun Microsystems Inc., 2008. SunOS 5.11 25 Mar 2008 gvfs-monitor-dir(1)
All times are GMT -4. The time now is 01:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy