12-14-2010
recursive saving of files and folders
Hi all
I have a bash script, that loops through a folders files and all subfolders for .shtml files.
It looks for a string and replaces it, creating a backup of the original file.
This all works great, but I'd like, when the backup is done, that the files are then also created in their respective folders.
So if example.shtml is found in /var/www/files/example/example.shtml
And the backup folder is /var/www/files/backup
Then the file should be in /var/www/files/backup/example/example.shtml
My current code is:
PHP Code:
#!bin/bash
OLD="This is a"
NEW="I am a"
BPATH="../backup"
find . -name '*.shtml' -type f |
while read filename
do
/bin/cp -f $filename $BPATH
sed -i "s/$OLD/$NEW/g" $filename
done
All help muchly welcome
Regards
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have UWin version of Unix for Destop
I have files with extension *.abc. I want to rename it to *.csv.
Some of the filenames have spaces.
I also to rename the files with extension *.abc in the corresponding subfolders
ex
==
abc def.abc
ghi jkl.abc
mnopqr.abc
uvwxyz.abc
rename as... (4 Replies)
Discussion started by: bobbygsk
4 Replies
2. Shell Programming and Scripting
Requirements: ftp files recursively from unix to windows. Replicate
directory paths on unix (source) to windows (destination) and place
files in their respective folders. There are no set number of files per
directory nor fix number of dirA or dirB etc....
Source OS: Solaris... (5 Replies)
Discussion started by: mlv_99
5 Replies
3. Shell Programming and Scripting
Hi all,
I need to save my files at c, d or any drive location via script.
Requirement.
Say for example i have 10 files at location /usr/bi/ci location.
10 files naming
a.ksh
b,ksh
c.ksh and so on
I want to save the files and its content at some location (any drive on local... (4 Replies)
Discussion started by: j_panky
4 Replies
4. UNIX for Dummies Questions & Answers
Hello again,
A little while back I got help with creating a command to search all directories and sub directories for files from daystart of day x.
I'm wondering if there is a command that I've overlooked that may be able to search for / write folder names to an output file which ideally... (2 Replies)
Discussion started by: Aussiemick
2 Replies
5. UNIX for Advanced & Expert Users
Can I please have some ideas on how to do a recursive grep with certain types of files? The file types I want to use are *.c and *.java.
I know this normally works with all files.
grep -riI 'scanner' /home/bob/ 2>/dev/null
Just not sure how to get it to work *.c and *.java files. (5 Replies)
Discussion started by: cokedude
5 Replies
6. HP-UX
Dear All,
I will appreciate any help received. Our system is running on hpux v1
My problem is as follows:
We have many customer folders with name fd000100, fd000101 and so on
e.g.
(Testrun)(testsqa):/>ll /TESTrun/fd000100
total 48
drwxrwx--- 2 fq000100 test 96 Jun 27 2004... (17 Replies)
Discussion started by: mhbd
17 Replies
7. Shell Programming and Scripting
If the user inputs two variants separated by a comma, the below command is supposed to write both variants to the GJ-53.txt and then to out.txt. Both are written to the GJ-53.txt, however only one is written to out.txt and I'm not sure why. Thank you :).
gjb2() {
printf "\n\n"
... (1 Reply)
Discussion started by: cmccabe
1 Replies
8. Shell Programming and Scripting
Hi,
i need help with a file creation of an output program. I've got a program that with #find creates an output for each files in a directory.
If i give this command :
-o spec$(date -u +%Y%m%dt%H%M)
it creates just one file, overwriting all the others since it is the creation date .... (2 Replies)
Discussion started by: Board27
2 Replies
9. UNIX for Beginners Questions & Answers
Hi folks,
I have several directories with multiple files of all kinds in them. For example
directory ###### contains:
######B1.TIF
######B2.TIF
...........
######B8.TIF
######.tar
######.txt
######.jpg
######r
######r.hdr
######rSVD
######rSVD.hdr
######t
######t.hdr
How do I... (8 Replies)
Discussion started by: spirospap
8 Replies
10. Shell Programming and Scripting
Hi,
So i know we use cp -r as a basic to copy folders/files.
I would like this BUT i would like to show the output of the files being copied.
With the amazing knowledge i have i have gone as far as this:
1) find source/* -exec cp -r {} target/ \;
2) for ObjectToBeCopied in `find... (6 Replies)
Discussion started by: Imre
6 Replies
LEARN ABOUT ULTRIX
folders
folders(1mh) folders(1mh)
Name
folders - list folders and contents
Syntax
folders [ +folder ] [ msg ] [ options ]
Description
The command displays the names of your folders and the number of messages that they each contain.
The command displays a list of all the folders in your Mail directory. The folders are sorted alphabetically, each on its own line. This
is illustrated in the following example:
Folder # of messages ( range ); cur msg (other files)
V2.3 has 3 messages ( 1- 3).
adrian has 20 messages ( 1- 20); cur= 2.
brian has 16 messages ( 1- 16).
chris has 12 messages ( 1- 12).
copylog has 242 messages ( 1- 242); cur= 225.
inbox+ has 73 messages ( 1- 127); cur= 127.
int has 4 messages ( 1- 4); cur= 2 (others).
jack has 17 messages ( 1- 17); cur= 17.
TOTAL= 387 messages in 8 folders.
The plus sign (+) after inbox indicates that it is the current folder. The information about the folder includes the term (others). This
indicates that the folder contains files which are not messages. These files may be either sub-folders, or files that do not belong under
the MH file naming scheme.
The command is identical to the effect of using the -all option to the command.
If you use with the +folder argument, it will display all the subfolders within the named folder. as shown in the following example:
% folders +test
Folder # of messages ( range ); cur msg (other files)
test+ has 18 messages ( 1- 18); (others).
test/testone has 1 message ( 1- 1).
test/testtwo has no messages.
TOTAL= 19 messages in 3 folders.
See for more details of sub-folders.
Options
-fast
-nofast Lists only the name of folders, with no additional information. This is faster because the folders need not be read.
-help Prints a list of the valid options to this command.
-list
-nolist Lists the contents of the folder-stack. No +folder argument is allowed with this option.
-pack
-nopack Re-numbers messages in the folders. Messages are re-numbered sequentially, and any gaps in the numbering are removed. The
default operation is -nopack, which does not change the numbering in the folder.
-pop Discards the top of the folder-stack, after setting the current folder to that value. No +folder argument is allowed with this
option. This corresponds to the operation in the C-shell; see The -push and -pop options are mutually exclusive: the last occur-
rence of either one overrides any previous occurrence of the other.
-push Pushes the current folder onto the folder-stack, and makes the +folder argument into the current folder. If +folder is not
given, the current folder and the top of the folder-stack are exchanged. This corresponds to the operation in the C-shell; see
The -push switch and the -pop switch are mutually exclusive: the last occurrence of either one overrides any previous occurrence
of the other.
-recurse
-norecurse
Lists folders recursively. Information on each folder is displayed, followed by information on any sub-folders which it con-
tains.
-total
-nototal Displays only the total number of messages and folders in your Mail directory. This option does not print any information about
individual folders. It can be suppressed using the -nototal option.
The defaults for are:
+folder defaults to all
msg defaults to none
-nofast
-noheader
-nototal
-nopack
-norecurse
Restrictions
MH does not allow you to have more than 100 folders at any level in your Mail directory.
Profile Components
Path: To determine your MH directory
Folder-Protect: To set protections when creating a new folder
Folder-Stack: To determine the folder stack
lsproc: Program to list the contents of a folder
Files
The user profile.
See Also
csh(1), folder(1mh), refile(1mh), mhpath(1mh)
folders(1mh)