09-08-2008
Quote:
Originally Posted by
matrixmadhan
had perl been there in the list it would do everything
Yes ... slowly. ;-))
I don't want to indulge into the perl-as-a-language-discussion. Suffice it to say that the discussion taking place is enough to make me wary about it. Being
disputable is a sign of being problematic regardless of the dispute being carried out or not.
Regarding the thread openers question: sed and awk are tools for different purposes and the question which one to learn makes about as much sense as the question "should i learn the hammer or the nail tool". You will need both.
It is quite common to misuse one tool for a purpose where the other would be better suited. That doesn't make the practice any better - just more common.
To find out which tool to use for which purpose just look at their differences: sed is faster and smaller than awk. awk, on the other hand, is able to work context-sensitive and has a much bigger function library. As a rule of thumb: if you can do it in sed, than do it in sed, in any other case use awk. If you have a line-oriented file and you want to parse out some values from each line and create a nicely aligned table probably sed will be the right tool for you. If you want to sum on one of the fields and write the total in the last line your tool of choice is awk.
If the problem you are trying to solve involves lots of processing you might save a lot of time using sed instead of awk. If the problem is complex and interdependent you might be able to solve it with awk easily and straightforwardly but only with a lot of "programming magic" (if at all) with sed. Bottom line: use every tool for what it is designed to achieve. "One size fits all" is as bad a concept when it comes to chosing tools as it is with condome sizes.
I hope this helps.
bakunin
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a question. Take the following statement
awk -F\| '{print $21}' testfile | sed 's/\//\\/g' > newfile
This will grab the 21st column of a | delimited text file, replace the forward slashes "/" , with back slashes "\", and redirect the output newfile. Now, how do I get the output... (4 Replies)
Discussion started by: shimb0
4 Replies
2. Shell Programming and Scripting
Hello,
I am new to shell scripting. I want to optimize my one of the script.
I have one file and i want to remove selected zones for domains from that file.In this file i have almost 3500 zones for domains.Sample data for the file....
named.backup... (0 Replies)
Discussion started by: nrbhole
0 Replies
3. Shell Programming and Scripting
How do I grab the first 10 characters of a line and append it to another empty file? (7 Replies)
Discussion started by: xgringo
7 Replies
4. UNIX for Dummies Questions & Answers
Hello,
Despite reading the Pattern Matching chapter in the O'Reilly Sed & Awk book several times and
looking at numerous examples, I cannot seem to get any kind of conditional script to work in my awk scripts!
I am able to do the basic awk and grep script to capture the data but when I do with... (0 Replies)
Discussion started by: pg55
0 Replies
5. Shell Programming and Scripting
Hi all,
can anyone have sed & awk programming doc..so that to learn it easier.. (1 Reply)
Discussion started by: gk2009
1 Replies
6. Shell Programming and Scripting
I have large number of data files, close to 300 files, lets say all files are same kind and have extension .dat , each file have mulitple lines in it.
There is a unique line in each file containing string 'SERVER'. Right after this line there is another line which contain a string 'DIGIT=0',... (4 Replies)
Discussion started by: sal_tx
4 Replies
7. UNIX for Dummies Questions & Answers
Hi,
Can anyone let me know the difference between awk and sed utilities in Unix?
Many thanks. (2 Replies)
Discussion started by: venkatesht
2 Replies
8. Shell Programming and Scripting
Hello,
I have a file. its content are like below.
mdn:87439842
imsi:23082038203
Ctime:12082010 01:20:10
mdn:9324783783
imsi:402349823322
Ctime: 12072010 01:20:10
mdn:87439842
imsi:23082038203
Ctime: 23072010 01:20:10
mdn:87439842
imsi:23082038203
Ctime:18072010 01:20:10
mdn:87439842... (3 Replies)
Discussion started by: Sanket11
3 Replies
9. Shell Programming and Scripting
Hi Experts,
I am studying SED and AWK text processing commands with an E-book. I am not satisfied with the way of explanation and examples given by them.
I would like you guys to suggest me the Best book for SED and AWK to become good in this utility.
Thanks in Advance (1 Reply)
Discussion started by: linuxrulez
1 Replies
10. Shell Programming and Scripting
string="din&esh\nisgood"
File.txt:
the name is
sed "s#\#${string}#g" File.txt
Output am getting:
the name is dinesh
is good
Expected output:
the name is din&esh\nisgood
The input string is dynamic it will be keep on changing
am able to handle & by placing \& in the string.. (5 Replies)
Discussion started by: dineshaila
5 Replies
LEARN ABOUT LINUX
shtool-subst
SHTOOL-SUBST.TMP(1) GNU Portable Shell Tool SHTOOL-SUBST.TMP(1)
NAME
shtool-subst - GNU shtool sed(1) substitution operations
SYNOPSIS
shtool subst [-v|--verbose] [-t|--trace] [-n|--nop] [-w|--warning] [-q|--quiet] [-s|--stealth] [-i|--interactive] [-b|--backup ext]
[-e|--exec cmd] [-f|--file cmd-file] [file] [file ...]
DESCRIPTION
This command applies one or more sed(1) substitution operations to stdin or any number of files.
OPTIONS
The following command line options are available.
-v, --verbose
Display some processing information.
-t, --trace
Enable the output of the essential shell commands which are executed.
-n, --nop
No operation mode. Actual execution of the essential shell commands which would be executed is suppressed.
-w, --warning
Show warning on substitution operation resulting in no content change on every file. The default is to show a warning on substitution
operations resulted in no content change on all files.
-q, --quiet
Suppress warning on substitution operation resulting in no content change.
-s, --stealth
Stealth operation. Preserve timestamp on file.
-i, --interactive
Enter interactive mode where the user has to approve each operation.
-b, --backup ext
Preserve backup of original file using file name extension ext. Default is to overwrite the original file.
-e, --exec cmd
Specify sed(1) command directly.
-f, --file cmd-file
Read sed(1) command from file.
EXAMPLE
# shell script
shtool subst -i -e 's;(c) ([0-9]*)-2000;(c) 1-2001;' *.[ch]
# RPM spec-file
%install
shtool subst -v -n
-e 's;^(prefix=).*;1 $RPM_BUILD_ROOT%{_prefix};g'
-e 's;^(sysconfdir=).*;1 $RPM_BUILD_ROOT%{_prefix}/etc;g'
`find . -name Makefile -print`
make install
HISTORY
The GNU shtool subst command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 2001 for GNU shtool. It was prompted
by the need to have a uniform and convenient patching frontend to sed(1) operations in the OpenPKG package specifications.
SEE ALSO
shtool(1), sed(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-SUBST.TMP(1)