Easy AWK question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Easy AWK question
# 1  
Old 07-12-2006
Easy AWK question

Ive got some output in a file that looks exactly like this:

1
-----------
1542

1 record(s) selected.


How do I just extract that 1542 and drop it into another file or (preferrably) a variable (using a ksh script)
# 2  
Old 07-12-2006
Code:
 awk '{ if( $0 !~ /[0-9]{4}/) {continue} 
          print $0; exit }' filename

# 3  
Old 07-12-2006
I need to clarify something...I think your script is going to extract exactly 4 digits....there is a chance the number could be 1,2,3,4 or 5 digits long...will this still work?
# 4  
Old 07-12-2006
How is this since you're parsing sqlplus output, key off of the column heading dashes:
Code:
VARIABLE=`nawk '/-----------/ {getline ; print}' filename`


Last edited by tmarikle; 07-12-2006 at 05:27 PM.. Reason: Forgot the filename
# 5  
Old 07-12-2006
Why not do this (tmarikle is right) in your sql:
Code:
set pages 0
spool t.lis
select ...................;
spool off

Now t.lis has exactly one line with just one number.
# 6  
Old 07-12-2006
Well the problem is that I get leading spaces before the number...My original solution was to use SED to delete the first 3 and last 3 lines...but I still have the leading spaces..
# 7  
Old 07-12-2006
Read my previous post. The solution omitted the filename.

For what it's worth, Jim's point is correct, and removing leading spaces is simple and precise. For example, if you have a variable VAR that contains leading spaces such as vAR=" 123", you can remove those using built-in functionality in KSH and BASH (e.g. echo "${VAR##+([ ])" ).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk easy question

So, I have the following code: cat testfile.txt | awk -F, '{ print $1" "$2" "$3" "$4" "$5 }' | read DOC ORG NAME echo "$DOC" echo "$ORG" echo "$NAME" My testfile.txt looks something like the following: Document Type,Project Number,Org ID,Invoice Number It will eventually be more... (14 Replies)
Discussion started by: Parrakarry
14 Replies

2. Shell Programming and Scripting

awk Help: quick and easy question may be: How to use &&

Hi Guru's. I am trying to use to check if $5 is greater than 80 & if not 100, then to print $0 : awk '{ if ($5>80) && if ($5 != 100) print $0} But getting error: >bdf1|sed 's/%//g'|awk '{ if ($5>80) && if ($5 != 100) print $0}' syntax error The source line is 1. The error... (6 Replies)
Discussion started by: rveri
6 Replies

3. UNIX for Dummies Questions & Answers

fun and easy awk question

I have a file called mytitles.txt containing a list of book titles I have a second file called abfile.txt containing a list of book titles (in the 3rd field) and it has author info and copyright year info as well.. I want to search mytitles.txt for a match in the 3rd field of abfiles.txt, and... (2 Replies)
Discussion started by: glev2005
2 Replies

4. UNIX for Dummies Questions & Answers

easy question

Hi everybody: Could anybody tell me if I have several files which each one it has this pattern name: name1.dat name2.dat name3.dat name4.dat name10.dat name11.dat name30.dat If I would like create one like: name_total.dat If I do: paste name*.dat > name_total.dat (15 Replies)
Discussion started by: tonet
15 Replies

5. Shell Programming and Scripting

Hopefully an Easy Question

I have a file name in this format ABC_WIRE_TRANS_YYYYMMDD_00.DAT I need to cut out the _00 out of the file name everytime. It could be _00, _01,_02, etc .... How do I cut it out to look as follows? ABC_WIRE_TRANS_YYYYMMDD.DAT (6 Replies)
Discussion started by: lesstjm
6 Replies

6. UNIX for Dummies Questions & Answers

Easy question about awk gsub

How does one escape the left bracket in awk? For example: | awk 'gsub (" I'm sure it's pretty simple, I'm just a noob. (1 Reply)
Discussion started by: TheCrunge
1 Replies

7. Shell Programming and Scripting

A easy question.

this is the simple question, please help me! the question is: how to send exactly 50 ICMP Echo request packets with 500 bytes of payload to 202.139.129.221? I tried to use ping -F 500 202.139.129.221, but it didn't work. Thanks! (6 Replies)
Discussion started by: kikikaka
6 Replies

8. UNIX for Dummies Questions & Answers

Another easy question

Hello Again, Ok guys. Thanks again for your help last time but I am in need of your experience again. I wrote this script: #!/bin/sh # List either files or directories in individual accounts # using 1, 2 or 3 with invalid case $1 in echo select 1 to see the FILES in your... (3 Replies)
Discussion started by: catbad
3 Replies

9. UNIX for Dummies Questions & Answers

easy question

I know the Sun Solaries versions are ( 2.3 , 2.4 , 2.5 ... 7 , 8 ) . But some times I see sun os v5.x what does it mean ?? also what is the last new machine for sun and what are its details specifications . Thanks (3 Replies)
Discussion started by: tamemi
3 Replies

10. UNIX for Dummies Questions & Answers

Easy question

Hi, Simple question. How do I convert a unix text file to a dos text file? Thanks Helen (4 Replies)
Discussion started by: Bab00shka
4 Replies
Login or Register to Ask a Question