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.
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)
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,
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 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,
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)
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)
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)
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)
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)
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
LEARN ABOUT LINUX
bzgrep
BZGREP(1) General Commands Manual BZGREP(1)NAME
bzgrep, bzfgrep, bzegrep - search possibly bzip2 compressed files for a regular expression
SYNOPSIS
bzgrep [ grep_options ] [ -e ] pattern filename...
bzegrep [ egrep_options ] [ -e ] pattern filename...
bzfgrep [ fgrep_options ] [ -e ] pattern filename...
DESCRIPTION
Bzgrep is used to invoke the grep on bzip2-compressed files. All options specified are passed directly to grep. If no file is specified,
then the standard input is decompressed if necessary and fed to grep. Otherwise the given files are uncompressed if necessary and fed to
grep.
If bzgrep is invoked as bzegrep or bzfgrep then egrep or fgrep is used instead of grep. If the GREP environment variable is set, bzgrep
uses it as the grep program to be invoked. For example:
for sh: GREP=fgrep bzgrep string files
for csh: (setenv GREP fgrep; bzgrep string files)
AUTHOR
Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
SEE ALSO grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)BZGREP(1)