renaming multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting renaming multiple files
# 15  
Old 03-01-2010
@cfajohnson

Off topic, but this current tread shows what a mess you can get into with IFS and functions when you have missed the basics.

https://www.unix.com/shell-programmin...cript-ftp.html
# 16  
Old 03-01-2010
Quote:
Originally Posted by methyl
@cfajohnson

Off topic, but this current tread shows what a mess you can get into with IFS and functions when you have missed the basics.

https://www.unix.com/shell-programmin...cript-ftp.html

There is no inappropriate use of IFS in that thread.

It is a case of someone not knowing the basics of shell scripting.
# 17  
Old 03-01-2010
@cfajohnson
Agreed. The IFS construct works in many modern shells. Never in dispute - just difficult to follow.

I can write to any local standard, but long experience has shown which constructs are difficult to follow by colleagues and passing contractors.

I too can write obfuscated code which works efficiently but is unmaintainable in a commercial environment.

Sometimes when the data volumes are large and the processing is complex (and I don't have time to write a program) I will use every trick to get a shell script to process the data in the least possible time. The script may be unreadable but it will work.

So vote for the "Clear Code Party" in the next General Election.

(Dismounts high horse and prepares to count both of the votes).
# 18  
Old 03-01-2010
Quote:
Originally Posted by methyl
@cfajohnson
Agreed. The IFS construct works in many modern shells. Never in dispute - just difficult to follow.

It works in all Bourne-type shells. (And you shouldn't use any other kind for scripts.)
Quote:
I can write to any local standard, but long experience has shown which constructs are difficult to follow by colleagues and passing contractors.

I don't see anything difficult to understand in setting IFS any more than in setting any other variable.
Quote:
I too can write obfuscated code which works efficiently but is unmaintainable in a commercial environment.

There's nothing obfuscated about setting IFS, especially before a read statement, where it is standard practice.
Quote:
Sometimes when the data volumes are large and the processing is complex (and I don't have time to write a program) I will use every trick to get a shell script to process the data in the least possible time. The script may be unreadable but it will work.

That's when you should be using awk.
# 19  
Old 03-01-2010
We are in different time zones, and I am getting tired, and with apologies to the O/P for hijacking the post:

Quote:
It works in all Bourne-type shells. (And you shouldn't use any other kind for scripts.)
I fully agree that the Bourne shell is a sound base for writing portable shell scripts. I do not agree that interfering with IFS is sensible in all common shells.


Quote:
There's nothing obfuscated about setting IFS, especially before a read statement, where it is standard practice.
I must argue this point. It is obfuscated and it is not standard practice. I have scanned thousands of manufacture standard issue scripts and not found one case.


Quote:
That's when you should be using awk.
I choose the language to match the specification. There are occasions when awk will do the job, there are occasions when it is just too slow or awkward. I treat awk as a programming language rather than a shell command.

Last edited by methyl; 03-01-2010 at 07:11 PM.. Reason: remove "though"
# 20  
Old 03-01-2010
Quote:
Originally Posted by methyl
I fully agree that the Bourne shell is a sound base for writing portable shell scripts. I do not agree that interfering with IFS is sensible in all common shells.

No, it's not. The POSIX shell (a Bourne-type shell) is the sound base for writing portable shell scripts. The Bourne shell is obsolete.
Quote:
I must argue this point. It is obfuscated and it is not standard practice. I have scanned thousands of manufacture standard issue scripts and not found one case.

I don't know what you consider standard, but I have found it to be common practice everywhere.

In fact, the bash man page says,
Code:
 IFS   The Internal Field Separator that is used ... to split lines into
       words with the read builtin command.

Quote:
I choose the language to match the specification. There are occasions when awk will do the job, there are occasions when it is just too slow or awkward. I treat awk as a programming language rather than a shell command.

awk is slow if you use it to process strings; it is much faster than the shell when processing files (anything but a fairly short file, that is).
# 21  
Old 03-01-2010
@cfajohnson
I have enjoyed this debate and look forward to many more. Our ripostes have been founded on logic and deep experience. With unix there is never one set solution to a problem.
bonsoir
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Renaming multiple files in sftp server in a get files script

Hi, In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this? I am using #!/bin/ksh For eg: sftp user@host <<EOF cd /path get *.txt rename *.txt *.txt.done ... (7 Replies)
Discussion started by: jhilmil
7 Replies

2. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hello, I have multiple files that I want to change the names to. Let's say for example that I want to rename all the files in the left column to the names in the right column: What would be the easiest way to go about doing this? Thanks. (1 Reply)
Discussion started by: Scatterbrain26
1 Replies

3. Shell Programming and Scripting

Renaming multiple files

I have 34 file in a directory that all have different names, however, they do have 1 pattern in commmon. They all have "-10-11-2010" date format in the name. I want to replace the date in the file name with a supplied date or maybe even the system date. I am sure I will be using awk or sed to... (9 Replies)
Discussion started by: Harleyrci
9 Replies

4. UNIX for Dummies Questions & Answers

Renaming multiple files

Hi, Can we rename multiples files using find or awk utility? Now I am doing it using for loop and getting the file name and in side the loop using the mv command. Like ine need t rename all txt files to doc file. For example a1.txt => a1.doc a2.txt => a2.doc a3.txt => a3.doc myfile.txt... (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

5. UNIX for Dummies Questions & Answers

Renaming multiple files

I have multiple gif files in a directory with different names. How can i rename them to have this result: file01.gif file02.gif file03.gif . . . file0500.gif Thanks for your help. (3 Replies)
Discussion started by: netx
3 Replies

6. Shell Programming and Scripting

Renaming multiple files

Hi, I have several hundred files I need to rename, and I'm would rather not hit F2 for each file individually to rename them. Example of file: large1961.jpg What I need the file to be renamed as: 1961.jpg I don't know what type of command I can execute within a shell script that would... (7 Replies)
Discussion started by: jayell
7 Replies

7. Shell Programming and Scripting

Renaming multiple files

I have a bunch of files txt1.csv--2008 thru to txt3.csv--2008. If i wanted to rename these files all at the same time to txt*.csv-2008 what would be the best way to do it... Just need to get rid of the extra - in each file name.. not all files are going to be called txt*.csv--2008. Just... (6 Replies)
Discussion started by: Jazmania
6 Replies

8. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hi All my dear friends I had multiple files in my directory with .pcv and .sqv extn I want to rename all .pcv files with .pc extn and all .sqv files with .sql extn Please help me out.:eek::mad::rolleyes: e.g. /trimsbld/users/dhirens/scripts/newfolder==>ll -rt total 2856 -rwxr-xr-x 1... (2 Replies)
Discussion started by: dhiren_shah
2 Replies

9. Shell Programming and Scripting

Renaming multiple files

Can someone please tell me how I can rename a bunch of files at a time. I hava a directory that has 700+ files that are named *.xyz and I would like to rename them to *.abc . How can I do that with a simple command ? mv *.xyz *.abc did not work. Thanks in advance (4 Replies)
Discussion started by: jxh461
4 Replies

10. UNIX for Dummies Questions & Answers

renaming multiple files

Hi to everyone!!. Here's my stupid question of the day. When I have to rename a file I use "mv filename newfilename". But what about renaming multiple files, for example if I want to add the prefix "old" to several image files (in fact it's what I wanted to do..). Thanks in advance.... :D (6 Replies)
Discussion started by: piltrafa
6 Replies
Login or Register to Ask a Question