Sponsored Content
Top Forums Shell Programming and Scripting Renaming mutiple files with hyphens in name Post 302502302 by alister on Monday 7th of March 2011 02:29:44 PM
Old 03-07-2011
Quote:
Originally Posted by mvijayv
Code:
for filename in `ls -1|grep ^fK`

That will work with the filenames given in this thread, but in general it's a very poor practice.

Any filename containing an IFS character (by default a space, tab, or newline) would be broken into pieces after the command substitution, with each piece served up individually to a different loop iteration.

The -1 flag to ls is pointless when piping to another process. ls knows when it's not writing to a tty and will always output one file per line (although if a filename itself contains a newline, it's not possible to know where it ends).

Since pathname expansion happens after field splitting (so that there's no need to worry about what the filename may contain) and since there's no need for multiple fork-execs to create the ls-grep pipeline, a safe and more efficient alternative to your approach would be:

Code:
for filename in fK*

Regards,
Alister

P.S. And, yes, I agree. Anyone using newlines and tabs in filenames deserves what they get. Smilie
This User Gave Thanks to alister For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Report with mutiple files.

Hi all, In the process of creating CPU reports. I've already used `sar` to create a daily file, then monthly reports for CPU usage (which is averaged across all 4 CPU's). I've now used `cpusar -P ?`(?=CPU#) to collect individual CPU data and have four files for each day which is great. The... (4 Replies)
Discussion started by: Cameron
4 Replies

2. Shell Programming and Scripting

removing mutiple files

I have a script which removes files (if they exist) Here is a cut down example of the script. Variables file1,file2 etc have already been initialized #!/bin/bash if then \rm file1 fi if then \rm file2 fi if then \rm file3 fi if then \rm file4 (9 Replies)
Discussion started by: run_time_error
9 Replies

3. Shell Programming and Scripting

Sending mutiple files thru email to lotus notes

Hi All, I am currently using the following script to send the single file to one/more email addresses. I need to send mutilple files at same time, are there anyway I could modify the script or write new one to accomplish the same. Script *************** #!/bin/ksh # Author: Manish... (4 Replies)
Discussion started by: lapisguy
4 Replies

4. Shell Programming and Scripting

Mutiple For loops - moving files to another directory

I need to clean out some application subdirectories from backup scripts we used to rename to various backup extensions just in case the script failed in production and we need to rollback. I will be moving these old scripts to a staging directory and then removing them after 30 days (I have the... (9 Replies)
Discussion started by: tekster757
9 Replies

5. UNIX for Dummies Questions & Answers

copy mutilple files to mutiple folders

Hi, I just started to learn shell progamming and just can't get my head around the following problem. I need to do the following: I have a folder which contains 100+ subfolders. Inside these subfolders there is one folder named 'Morph' and several jpg's. I need to copy all the files into... (4 Replies)
Discussion started by: M474746
4 Replies

6. UNIX for Advanced & Expert Users

Remove first line from mutiple files

How to remove the first line from multiple files and use it as source to the jobs. Only at the runtime it should remove the first line not in the file . (1 Reply)
Discussion started by: etldeveloper
1 Replies

7. Shell Programming and Scripting

how to replace words in mutiple files under the same directory

I would like to get help to find how to replace word in files from command line instead of to vi to each file. This is the command i am running now. grep <old word> * vi (file with the word found in it) 1,$s/<old word>/<new word>/g It would very helpful if I can combine these in one... (2 Replies)
Discussion started by: ywu081006
2 Replies

8. Shell Programming and Scripting

paste mutiple files in a loop

file1.txt file2.txt file3.txt desired output is each file is in the same directory, hasthe same number of columns but different rows. i want to be able to paste them into one file. thanks! (5 Replies)
Discussion started by: johnkim0806
5 Replies

9. Shell Programming and Scripting

Using grep with hyphens

This is on a RHEL 6 box with bash 4.1.2 I'm trying to to use grep to only find those lines containing matches that form whole words. The -w option works fantastic unless of course that word has a hyphen. The problem is I will get a hit on "test-group" which is a good thing, but I will also... (3 Replies)
Discussion started by: woodson2
3 Replies

10. Shell Programming and Scripting

Split large xml into mutiple files and with header and footer in file

Split large xml into mutiple files and with header and footer in file tried below it splits unevenly and also i need help in adding header and footer command : csplit -s -k -f my_XML_split.xml extrfile.xml "/<Document>/" {1} sample xml <?xml version="1.0" encoding="UTF-8"?><Recipient>... (36 Replies)
Discussion started by: karthik
36 Replies
FIELDCOMB(1)						      General Commands Manual						      FIELDCOMB(1)

NAME
       fieldcomb - combine two or more field frames for video animation

SYNOPSIS
       fieldcomb [ -e|-o ][ -r ] [ -f combined.hdr ] field0.hdr field1.hdr ..

DESCRIPTION
       Fieldcomb  combines two or more field frames into half as many final video frames for field-based animations.  Normally, the even scanlines
       in the output are given over to the first, third, fifth, etc. pictures given on the input, and the odd scanlines are given over to the sec-
       ond,  fourth,  sixth,  etc.  pictures  on the input.  This behavior corresponds to the -e option, which is set by default.  To reverse this
       ordering, the -o option must be specified.

       Normally, fieldcomb will name output frames by dividing the numbers on the input field file names by 2, inserting a 'C'	right  before  the
       number, adding leading zeroes to make it always four digits.  For example, the command:

	 fieldcomb anim12.hdr anim13.hdr anim14.hdr anim15.hdr

       will produce two output pictures:

	 animC0006.hdr & animC0007.hdr

       If  an odd number of input files is given on the command line, the last file is held over and used as the first file in the next invocation
       of fieldcomb in the same directory.  In this way, the program works well with the "TRANSFER" facility of ranimate(1), which does not  guar-
       antee an even number of frames will be passed every time.

       If only two input files are given, the -f option may be used to specify a different output name of the user's choosing.

       If the -r option is specified, then the input files will be removed once they have been combined.

AUTHOR
       Greg Ward

ACKNOWLEDGEMENT
       Work on this program was sponsored by Iebele Abel.

SEE ALSO
       getinfo(1), pcomb(1), pfilt(1), phisto(1), ran2tiff(1), ranimate(1), rpict(1)

RADIANCE							     9/6/2005							      FIELDCOMB(1)
All times are GMT -4. The time now is 09:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy