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:
Regards,
Alister
P.S. And, yes, I agree. Anyone using newlines and tabs in filenames deserves what they get.
Thanks Alister .. dont know what started me off with that approach a long time ago .. but never too late to get over a bad habit ... Good info, Thanks!
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)