02-06-2011
Quote:
Hi,
Thank you for your swift response. I ran the script w/o the -p for the mkdir command and received the following:
mkdir: cannot create directory `/boo/dir1': No such file or directory
touch: cannot touch `/boo/dir1/file1': No such file or directory
mkdir: cannot create directory `/boo/dir2': No such file or directory
touch: cannot touch `/boo/dir2/file1': No such file or directory
touch: cannot touch `/boo/boo_file': No such file or directory
mkdir: cannot create directory `/doo/dir1': No such file or directory
touch: cannot touch `/doo/dir1/file1': No such file or directory
mkdir: cannot create directory `/doo/dir2': No such file or directory
touch: cannot touch `/doo/dir2/file1': No such file or directory
touch: cannot touch `/doo/doo_file': No such file or directory
mkdir: cannot create directory `/foo/dir1': No such file or directory
touch: cannot touch `/foo/dir1/file1': No such file or directory
mkdir: cannot create directory `/foo/dir2': No such file or directory
touch: cannot touch `/foo/dir2/file1': No such file or directory
touch: cannot touch `/foo/foo_file': No such file or directory
When I ran it with the -p I received:
mkdir: cannot create directory `/boo': Permission denied
touch: cannot touch `/boo/dir1/file1': No such file or directory
mkdir: cannot create directory `/boo': Permission denied
touch: cannot touch `/boo/dir2/file1': No such file or directory
touch: cannot touch `/boo/boo_file': No such file or directory
mkdir: cannot create directory `/doo': Permission denied
touch: cannot touch `/doo/dir1/file1': No such file or directory
mkdir: cannot create directory `/doo': Permission denied
touch: cannot touch `/doo/dir2/file1': No such file or directory
touch: cannot touch `/doo/doo_file': No such file or directory
mkdir: cannot create directory `/foo': Permission denied
touch: cannot touch `/foo/dir1/file1': No such file or directory
mkdir: cannot create directory `/foo': Permission denied
touch: cannot touch `/foo/dir2/file1': No such file or directory
touch: cannot touch `/foo/foo_file': No such file or directory
Thanks again.
It fails because you are trying to create those in `/' and you are not root.
Remove the `/' in front of directories in the script
This User Gave Thanks to Aia For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hey guys
How can i test existence of a file /directory in a directory in a script
thanks (2 Replies)
Discussion started by: ajaya
2 Replies
2. UNIX for Dummies Questions & Answers
I am trying to test arguments to see if they are files in any directory.
I have :
but it's not working (7 Replies)
Discussion started by: skooly5
7 Replies
3. Shell Programming and Scripting
Hi, I'm new here an dlearning a lot from this forum. i didnt find any solution for this in the forum.
I have already checked in folders in subversion named
HTT01,... HTT21.. and have files in each folder like below:
HTT01/HTT01_00000.hex
HTT01/HTT01_00000_fb_result.hex... (2 Replies)
Discussion started by: ravishan21
2 Replies
4. Shell Programming and Scripting
Hi,
Can someone help me with creating a bash shell script.
I need to create a script that gets a positive number n as an argument.
The script must create n directories in the current directory with names like map_1, map_2 etcetera. Each directory must be contained within its predecessor. So... (7 Replies)
Discussion started by: I-1
7 Replies
5. Shell Programming and Scripting
I have hundreds of files numbered in consecutive number in one single folder
What I would like to do is to make as many subfolders as needed (dependeing on the number of individual files) and name them Folder01, Folder02, etc.
Then, move file01 to folder01, file02 to folder02 so on and so... (3 Replies)
Discussion started by: Xterra
3 Replies
6. Shell Programming and Scripting
I want to check if some directories with common prefix exist under current directory with bash, say, I have dictories like:
dirct_1
dirct_2
dirct_3
...
in the current directory. I did:
if
then
echo " directories exist "
else
echo " directories not exist "
fi (3 Replies)
Discussion started by: cristalp
3 Replies
7. UNIX for Advanced & Expert Users
Hi
I am new to Linux / scripting language. I need to improve our Linux servers at work and looking to claim some space my deleting log files/ folders on a 5 day basis.
Can someone help me with creating a script to do so.
Any sample script will be helpful.:b:
Regards (2 Replies)
Discussion started by: sachinksl
2 Replies
8. Shell Programming and Scripting
I am trying to download all files from a user authentication, password protected https site, with a particular extension (.bam). The files are ~20GB each and I am not sure if the below is the best way to do it. I am also not sure how to direct the downloaded files to a folder as well as external... (7 Replies)
Discussion started by: cmccabe
7 Replies
9. Shell Programming and Scripting
I have a directory /home/cmccabe/nfs/exportedReports that contains multiple folders in it. The find writes the name of each folder to out.txt. A new directory is then created in a new location /home/cmccabe/Desktop/NGS/API, named with the date. What I am trying to do, unsuccessfully at the moment,... (7 Replies)
Discussion started by: cmccabe
7 Replies
10. Shell Programming and Scripting
I've got this script to loop through all folders and move files that are more than 2 years old. I'm using the install command because it creates the necessary directories on the destination path and then I remove the source. I'd like to change the script to use the mv command since it is much... (4 Replies)
Discussion started by: consultant
4 Replies
LEARN ABOUT DEBIAN
file::dircompare
DirCompare(3pm) User Contributed Perl Documentation DirCompare(3pm)
NAME
File::DirCompare - Perl module to compare two directories using callbacks.
SYNOPSIS
use File::DirCompare;
# Simple diff -r --brief replacement
use File::Basename;
File::DirCompare->compare($dir1, $dir2, sub {
my ($a, $b) = @_;
if (! $b) {
printf "Only in %s: %s
", dirname($a), basename($a);
} elsif (! $a) {
printf "Only in %s: %s
", dirname($b), basename($b);
} else {
print "Files $a and $b differ
";
}
});
# Version-control like Deleted/Added/Modified listing
my (@listing, @modified); # use closure to collect results
File::DirCompare->compare('old_tree', 'new_tree', sub {
my ($a, $b) = @_;
if (! $b) {
push @listing, "D $a";
} elsif (! $a) {
push @listing, "A $b";
} else {
if (-f $a && -f $b) {
push @listing, "M $b";
push @modified, $b;
} else {
# One file, one directory - treat as delete + add
push @listing, "D $a";
push @listing, "A $b";
}
}
});
DESCRIPTION
File::DirCompare is a perl module to compare two directories using a callback, invoked for all files that are 'different' between the two
directories, and for any files that exist only in one or other directory ('unique' files).
File::DirCompare has a single public compare() method, with the following signature:
File::DirCompare->compare($dir1, $dir2, $sub, $opts);
The first three arguments are required - $dir1 and $dir2 are paths to the two directories to be compared, and $sub is the subroutine
reference called for all unique or different files. $opts is an optional hashref of options - see OPTIONS below.
The provided subroutine is called for all unique files, and for every pair of 'different' files encountered, with the following signature:
$sub->($file1, $file2)
where $file1 and $file2 are the paths to the two files. For 'unique' files i.e. where a file exists in only one directory, the subroutine
is called with the other argument 'undef' i.e. for:
$sub->($file1, undef)
$sub->(undef, $file2)
the first indicates $file1 exists only in the first directory given ($dir1), and the second indicates $file2 exists only in the second
directory given ($dir2).
OPTIONS
The following optional arguments are supported, passed in using a hash reference after the three required arguments to compare() e.g.
File::DirCompare->compare($dir1, $dir2, $sub, {
cmp => $cmp_sub,
ignore_unique => 1,
});
cmp By default, two files are regarded as different if their contents do not match (tested with File::Compare::compare). That default
behaviour can be overridden by providing a 'cmp' subroutine to do the file comparison, returning zero if the two files are equal, and
non-zero if not.
E.g. to compare using modification times instead of file contents:
File::DirCompare->compare($dir1, $dir2, $sub, {
cmp => sub { -M $_[0] <=> -M $_[1] },
});
ignore_cmp
If you want to see all corresponding files, not just 'different' ones, set the 'ignore_cmp' flag to tell File::DirCompare to skip its
file comparison checks i.e.
File::DirCompare->compare($dir1, $dir2, $sub,
{ ignore_cmp => 1 });
ignore_unique
If you want to ignore files that only exist in one of the two directories, set the 'ignore_unique' flag i.e.
File::DirCompare->compare($dir1, $dir2, $sub,
{ ignore_unique => 1 });
SEE ALSO
File::Dircmp, which provides similar functionality (and whose directory walking code I've adapted for this module), but a simpler
reporting-only interface, something like the first example in the SYNOPSIS above.
AUTHOR AND CREDITS
Gavin Carr <gavin@openfusion.com.au>
Thanks to Robin Barker for a bug report and fix for glob problems with whitespace.
COPYRIGHT AND LICENSE
Copyright 2006-2007 by Gavin Carr.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2010-03-02 DirCompare(3pm)