Sponsored Content
Full Discussion: Need small help
Top Forums Shell Programming and Scripting Need small help Post 302408263 by clx on Monday 29th of March 2010 03:53:23 AM
Old 03-29-2010
you can try something like:

Code:
#!/usr/bin/ksh
source_dir=/home/forum/test/source
target_dir=/home/forum/test/target
error_dir=/home/forum/test/error

for file in $source_dir/*
do
	echo "Processing file ${file##*/}."
	t_file=${file##*/}
	t_name=${t_file%%_*}
	if [ -d $target_dir/$t_name ] ; then 
		mv $file $target_dir/$t_file && echo "Moved to Target Dir" || echo "Unable to move."
	else
		if [ "$t_name" = "$(echo $t_name | tr '[a-z]' '[A-Z]')" ]; then
			echo "$t_name found in UpperCase."
			mv $file $error_dir && echo "Moved to Error Dir" || echo "Unable to move."
		else
			echo "Dir $t_name has not found in Target Dir."	
		fi
	
	fi
	
done

Code:
/home/forum/test->ls source/*
source/DD_20100327.txt
source/aa_20100327.txt
source/bb_20100327.txt
source/cc_20100327.txt
source/ee_20100327.txt

/home/forum/test->ls target/*
aa
cc
dd


Code:
/home/forum/test->./move.ksh
Processing file DD_20100327.txt.
DD found in UpperCase.
Moved to Error Dir
Processing file aa_20100327.txt.
Moved to Target Dir
Processing file bb_20100327.txt.
Dir bb has not found in Target Dir.
Processing file cc_20100327.txt.
Moved to Target Dir
Processing file ee_20100327.txt.
Dir ee has not found in Target Dir.
/home/forum/test->


you can also create the target dir whenever it is not found. (depends on your requirement).
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

small script help

here is a small script: if ; then echo please enter an argument fi if [ "$1" = "tom"; then a=$1 echo $a fi here is my question. if the script name is j.sh and I run it : j.sh from shell prompt: without a parameter: it prints please enter an argument but if I go with . j.sh (current... (1 Reply)
Discussion started by: rkl1
1 Replies

2. Shell Programming and Scripting

Small Help on SED

Hi All, I have come across a command echo "123 abc" | sed 's/*/& &/' output is 123 123 abc then i tried in different ways to get 123 abc abc as output. Can u please explain me the importance of & in the above command. Thank you - Chanakya (7 Replies)
Discussion started by: Chanakya.m
7 Replies

3. IP Networking

Small problem...

Nice pictures, really free from virtual swingers club !!!! Anal sex Body art Gay Hardcore Lesbian Oral sex Cum XXX Models Private Image Galleries Private XXX photo Free!!! Say no to Spamers!!! Auto forum spam msg replacer by Swinguru © (1 Reply)
Discussion started by: Green_Monkey23
1 Replies

4. Shell Programming and Scripting

small script help

#!/bin/ksh for i in *.log* do ls $i|sed 's/\.log$//g' | while read file do echo "file $file is Running" >> lls.txt echo "***************">> lls.txt done done ------------------------------------------------------------------ the output is : file AdapterCCProvisioningInterface... (9 Replies)
Discussion started by: ali560045
9 Replies

5. Shell Programming and Scripting

need a small script

Hello all, i have a batmail process running on my machine(java process). i just need a script we should detect whether the batchnail is running or not.If not it should restart it. Can anyone assist me on this? (1 Reply)
Discussion started by: Rayzone
1 Replies

6. Shell Programming and Scripting

Missing something small....

I have a feeling my eyes are burned and I am just missing something small here but can somebody tell me why this is not working.... #!/bin/ksh Trunk_Path=/lcl/sit/apps/Tivoli types="-name '*.sh' -o -name '*.conf' -o -name '*.rules' -o -name '*.dat' -o -name '*.props' -o -name '*.sql' -o -name... (10 Replies)
Discussion started by: LRoberts
10 Replies

7. Shell Programming and Scripting

Need small help

Hi all, I have two files in my folder 1.index.jsp 2.maintenance.jsp Once hit the URL in IE,It will call the index.jsp file than application working fine. I want to some maintenance in my application, during the application maintenance than it will... (1 Reply)
Discussion started by: lkeswar
1 Replies

8. UNIX for Dummies Questions & Answers

need help with small script

Hi I have the below file Name=abc Yr=2011 Mon=05 My script should be in such a way that whenever I run it then Month should increment by 1 and if the month is 12 then when I run the script then year should incremented by 1 and month Should become 01(I.e jan) Thanks for the help in... (6 Replies)
Discussion started by: kishu
6 Replies

9. Shell Programming and Scripting

need a small help

Hi, sorry for inconvenience..wrong query posted. Thanks for your help. Thanks (1 Reply)
Discussion started by: kirankumar
1 Replies

10. Shell Programming and Scripting

Small automation

Frequently we need to stop or start services on Linux systems. For exmaple : To start or stop vsftpd daemon # /etc/init.d/vsftpd start or # /etc/init.d/vsftpd stop Following script will check the vsftpd service and if it is running, it will be stopped or vice-versa. # cat... (5 Replies)
Discussion started by: snjksh
5 Replies
Path::Class(3)						User Contributed Perl Documentation					    Path::Class(3)

NAME
Path::Class - Cross-platform path specification manipulation VERSION
version 0.33 SYNOPSIS
use Path::Class; my $dir = dir('foo', 'bar'); # Path::Class::Dir object my $file = file('bob', 'file.txt'); # Path::Class::File object # Stringifies to 'foo/bar' on Unix, 'fooar' on Windows, etc. print "dir: $dir "; # Stringifies to 'bob/file.txt' on Unix, 'bobfile.txt' on Windows print "file: $file "; my $subdir = $dir->subdir('baz'); # foo/bar/baz my $parent = $subdir->parent; # foo/bar my $parent2 = $parent->parent; # foo my $dir2 = $file->dir; # bob # Work with foreign paths use Path::Class qw(foreign_file foreign_dir); my $file = foreign_file('Mac', ':foo:file.txt'); print $file->dir; # :foo: print $file->as_foreign('Win32'); # foofile.txt # Interact with the underlying filesystem: # $dir_handle is an IO::Dir object my $dir_handle = $dir->open or die "Can't read $dir: $!"; # $file_handle is an IO::File object my $file_handle = $file->open($mode) or die "Can't read $file: $!"; DESCRIPTION
"Path::Class" is a module for manipulation of file and directory specifications (strings describing their locations, like '/home/ken/foo.txt' or 'C:WindowsFoo.txt') in a cross-platform manner. It supports pretty much every platform Perl runs on, including Unix, Windows, Mac, VMS, Epoc, Cygwin, OS/2, and NetWare. The well-known module File::Spec also provides this service, but it's sort of awkward to use well, so people sometimes avoid it, or use it in a way that won't actually work properly on platforms significantly different than the ones they've tested their code on. In fact, "Path::Class" uses "File::Spec" internally, wrapping all the unsightly details so you can concentrate on your application code. Whereas "File::Spec" provides functions for some common path manipulations, "Path::Class" provides an object-oriented model of the world of path specifications and their underlying semantics. "File::Spec" doesn't create any objects, and its classes represent the different ways in which paths must be manipulated on various platforms (not a very intuitive concept). "Path::Class" creates objects representing files and directories, and provides methods that relate them to each other. For instance, the following "File::Spec" code: my $absolute = File::Spec->file_name_is_absolute( File::Spec->catfile( @dirs, $file ) ); can be written using "Path::Class" as my $absolute = Path::Class::File->new( @dirs, $file )->is_absolute; or even as my $absolute = file( @dirs, $file )->is_absolute; Similar readability improvements should happen all over the place when using "Path::Class". Using "Path::Class" can help solve real problems in your code too - for instance, how many people actually take the "volume" (like "C:" on Windows) into account when writing "File::Spec"-using code? I thought not. But if you use "Path::Class", your file and directory objects will know what volumes they refer to and do the right thing. The guts of the "Path::Class" code live in the Path::Class::File and Path::Class::Dir modules, so please see those modules' documentation for more details about how to use them. EXPORT The following functions are exported by default. file A synonym for "Path::Class::File->new". dir A synonym for "Path::Class::Dir->new". If you would like to prevent their export, you may explicitly pass an empty list to perl's "use", i.e. "use Path::Class ()". The following are exported only on demand. foreign_file A synonym for "Path::Class::File->new_foreign". foreign_dir A synonym for "Path::Class::Dir->new_foreign". tempdir Create a new Path::Class::Dir instance pointed to temporary directory. my $temp = Path::Class::tempdir(CLEANUP => 1); A synonym for "Path::Class::Dir->new(File::Temp::tempdir(@_))". Notes on Cross-Platform Compatibility Although it is much easier to write cross-platform-friendly code with this module than with "File::Spec", there are still some issues to be aware of. o On some platforms, notably VMS and some older versions of DOS (I think), all filenames must have an extension. Thus if you create a file called foo/bar and then ask for a list of files in the directory foo, you may find a file called bar. instead of the bar you were expecting. Thus it might be a good idea to use an extension in the first place. AUTHOR
Ken Williams, KWILLIAMS@cpan.org COPYRIGHT
Copyright (c) Ken Williams. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Path::Class::Dir, Path::Class::File, File::Spec perl v5.18.2 2017-10-06 Path::Class(3)
All times are GMT -4. The time now is 09:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy