04-29-2008
Batch changing file extensions
We are moving from an OpenVMS server to a Unix server and I have a problem with ftp'ing files.
When I ftp the VMS server from the Unix server, I need to "mget" some files, for example "mget test_file*.txt;". The semicolon is necessary because OpenVMS has multiple versions of the file (eg test_file.txt;1, test_file.txt;2, etc).
When I do this i end up with the file "test_file.txt;2". I then need to convert this to remove the semicolon.
I have tried various methods and have found one that works :
for file in *.txt*; do
noext="${file%.*}"
mv "$file" "${noext#*.}.txt"
done
However, I have problems with this :
1. it renames ALL .txt files even if they have no ";" and version number.
2. it will only do one file extension at a time.
3. it is inefficient
What I want is to say "for all files with a semicolon in the file extension, rename the file to everything to the left of the semicolon".
Better yet, "give me all files matching *.txt; from theVMS server, and create them on the Unix server without the ;"
Any suggestions would be appreciated.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello people, I was wondering if anyone could help me?
I want to produce a shell script that changes the filename extension on all matching file.
E.G. change all files called ‘something.rtf' to ‘something.doc' by giving the command:
Changex rtf doc
*where ‘Changex' is the name of... (2 Replies)
Discussion started by: thurrock
2 Replies
2. Shell Programming and Scripting
Hi,
I have files with names like file1.txt.txt.txt.txt and file2.txt.txt.txt.txt.txt............ (random infinite number of .txt exist).
how to truncate (mv) their names to ones with single .txt extension like file1.txt and file1.txt ? In other words, how to extract the filename upto first... (12 Replies)
Discussion started by: prvnrk
12 Replies
3. UNIX for Dummies Questions & Answers
Hi all -
I'm trying to rename a large number of files all at once and need some help figuring out the command line syntax to do it. I've already done quite a bit of research with the rename and mv commands, but so far haven't found a solution that seems to work for me. So:
The files exist... (10 Replies)
Discussion started by: dave920
10 Replies
4. UNIX for Dummies Questions & Answers
I copied some files to another folder, and I want to change them from .doc extensions to .txt extensions. I tried using the cp and mv commands, but it didn't work. Is it possible to change file extensions with these commands, and if so how do I do it? I tried using the * wildcard (say cp *.doc... (1 Reply)
Discussion started by: Straitsfan
1 Replies
5. Shell Programming and Scripting
Hi All,
Is there a way to list all file extensions in a directory and its recursive dirs?
Thanks (5 Replies)
Discussion started by: ganga.dharan
5 Replies
6. UNIX for Dummies Questions & Answers
Hi
How can i find the unique list of file extensions in a folder/subfolders
e.g.
MAIN/
a.txt
b.txt
a.clas
a.java
b.class
a.txt.112
c.12.ram.jar
i just need to get the below out irrespective of file being present in folder or subfolders
txt
clas
java (5 Replies)
Discussion started by: reldb
5 Replies
7. Shell Programming and Scripting
I am trying to store file with certain file extensions to list but having some problems.
Here is a part of the code
set fryLst = ""
set fxtLst = ""
foreach f ($AfullNameLst)
set fname = $f:r
set fext = $f:e
if ("$fext" == ".ry") set fryLst = "$fryLst $f"
if ("$fext" == ".xt")... (2 Replies)
Discussion started by: kristinu
2 Replies
8. Shell Programming and Scripting
I'm in csh and have a list of file names, example
set Lst = "file1.ry file2.ry file3.ry file4.ry"
I want to check if all the extensions are ry. Is they are, I want to do something. (1 Reply)
Discussion started by: kristinu
1 Replies
9. Shell Programming and Scripting
Hi Guys,
I have files named myfileaa,myfileab,myfileac,myfilesad.... till myfileav.
Now i needs to rename all these files to myfileaa.txt ,myfileab.txt,myfileac.txt.
Please help me how to do the same.
Thanks in advance..!!! (4 Replies)
Discussion started by: jaituteja
4 Replies
10. Shell Programming and Scripting
Hello Unix board community,
I have to program a shell script, but I am a complete noob so I hope I get some help here. The assignment is as follows:
The program removes all comments regardless of formatting or language from files with specific file name extensions (php, css, js, ...).... (3 Replies)
Discussion started by: TheZeusMan
3 Replies
LEARN ABOUT DEBIAN
httpindex
httpindex(1) General Commands Manual httpindex(1)
NAME
httpindex - HTTP front-end for SWISH++ indexer
SYNOPSIS
wget [ options ] URL... 2>&1 | httpindex [ options ]
DESCRIPTION
httpindex is a front-end for index++(1) to index files copied from remote servers using wget(1). The files (in a copy of the remote direc-
tory structure) can be kept, deleted, or replaced with their descriptions after indexing.
OPTIONS
wget Options
The wget(1) options that are required are: -A, -nv, -r, and -x; the ones that are highly recommended are: -l, -nh, -t, and -w. (See the
EXAMPLE.)
httpindex Options
httpindex accepts the same short options as index++(1) except for -H, -I, -l, -r, -S, and -V.
The following options are unique to httpindex:
-d Replace the text of local copies of retrieved files with their descriptions after they have been indexed. This is useful to display
file descriptions in search results without having to have complete copies of the remote files thus saving filesystem space. (See
the extract_description() function in WWW(3) for details about how descriptions are extracted.)
-D Delete the local copies of retrieved files after they have been indexed. This prevents your local filesystem from filling up with
copies of remote files.
EXAMPLE
To index all HTML and text files on a remote web server keeping descriptions locally:
wget -A html,txt -linf -t2 -rxnv -nh -w2 http://www.foo.com 2>&1 |
httpindex -d -e'html:*.html,text:*.txt'
Note that you need to redirect wget(1)'s output from standard error to standard output in order to pipe it to httpindex.
EXIT STATUS
Exits with a value of zero only if indexing completed sucessfully; non-zero otherwise.
CAVEATS
In addition to those for index++(1), httpindex does not correctly handle the use of multiple -e, -E, -m, or -M options (because the Perl
script uses the standard GetOpt::Std package for processing command-line options that doesn't). The last of any of those options ``wins.''
The work-around is to use multiple values for those options seperated by commas to a single one of those options. For example, if you want
to do:
httpindex -e'html:*.html' -e'text:*.txt'
do this instead:
httpindex -e'html:*.html,text:*.txt'
SEE ALSO
index++(1), wget(1), WWW(3)
AUTHOR
Paul J. Lucas <pauljlucas@mac.com>
SWISH++ August 2, 2005 httpindex(1)