help required with shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help required with shell script
# 1  
Old 03-15-2012
help required with shell script

Hi,

My input file as follws
$ cat 1.txt
-------
Code:
a aa aaa 11 
b bb bbb 22

I am able to extract first and last column of a given line as follows.
Code:
$ nawk '{print $1}' FS= RS= 1.txt | awk '{ $NF = ""; print }'

a
Code:
$ nawk '{print $1}' FS= RS= 1.txt | awk '{ print $NF}'

11

however, the same is not working by using shell script. My script as follows.

$ cat 11.ksh
-----
Code:
#!/usr/bin/ksh
for i in 1 2
do
 nawk '{print $$i}' FS= RS= 1.txt | awk '{ $NF = ""; print }'
 nawk '{print $$i}' FS= RS= 1.txt | awk '{print $NF}'
done

--

I am getting the below error.
--
Code:
$ sh 11.ksh
awk: 0602-562 Field $() is not correct.
 The input line number is 1. The file is 1.txt.
 The source line number is 1.
awk: 0602-562 Field $() is not correct.
 The input line number is 1. The file is 1.txt.
 The source line number is 1.
awk: 0602-562 Field $() is not correct.
 The input line number is 1. The file is 1.txt.
 The source line number is 1.
awk: 0602-562 Field $() is not correct.
 The input line number is 1. The file is 1.txt.
 The source line number is 1.

---
Possibly, the error is because of '$$i' in shell script. Any help to fix this much appreciated.

Thansk in advance.

Last edited by DukeNuke2; 03-15-2012 at 04:21 AM..
# 2  
Old 03-15-2012
awk

Hi,

Try like this,

Code:
for i in 1 2
do
awk -v fld="$i" '{print $fld;}' file
done

I dont about your exact requirement. so i cant comment on your code but you can use the below to get first and last field.

Code:
awk  '{print $1,$NF;}' file

Cheers,
RangaSmilie
# 3  
Old 03-15-2012
Thanks Ranga for your quick reply.

I would like to read first and last column of a given line (line by line not the entire file) and store in a table.

Can you help to match this requirement?

---------- Post updated at 02:45 AM ---------- Previous update was at 02:39 AM ----------

It is working fine now. I replaced nawk with you code. Thanks again.
# 4  
Old 03-15-2012
Can you give me some sample input and expected output ?
In a single file you are going to read selected line( like 5th, 6th and 20th lines) ?
# 5  
Old 03-15-2012
Code:
while read line
do
   echo $line | awk '{print $1, $NR}'
done<filename


Last edited by Franklin52; 03-15-2012 at 04:56 AM.. Reason: Please use code tags for code and data samples, thank you
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script required

Hi, I need shell script for getting the date in format from below text output IP IS 10.238.52.65 pun-ras-bng-mhs-01#show conf port 2/4 Building configuration... Current configuration: ! card ge3-4-port 2 ! port ethernet 2/4 no shutdown encapsulation dot1q (7 Replies)
Discussion started by: surender reddy
7 Replies

2. Shell Programming and Scripting

Shell script is required

Dear All I have a filelisting as below: abcd_20110715_0007 abcd_20110715_0010 abcd_20110716_0001 abcd_20110716_0004 abcd_20110715_0008 abcd_20110715_0011 abcd_20110716_0002 abcd_20110716_0005 abcd_20110715_0009 abcd_20110715_0012 abcd_20110716_0003 abcd_20110716_0006 ... (3 Replies)
Discussion started by: at1700
3 Replies

3. Shell Programming and Scripting

shell script required...

There are two fields actually one is server name and the other one is Time. Based on time, there are 8 columns and these will be updated with the flag 1 if at all if there is any server name. Time Server name 15 to 18 18 to 21 21 to 24 00 to 03 03 to 06 06 to 09 09 to 12 Server... (3 Replies)
Discussion started by: venkatesht
3 Replies

4. Shell Programming and Scripting

Small shell script help required

Hi Guys, Please can some one explain me the below part of code. In this code what is the use of the line in Bold. COPY=0 if ; then echo "$CONF exists and is non-empty - backing it up" SUFFIX=`date +%Y%m%d%H%M%S` echo "cp -p $CONF $CONF.$SUFFIX" cp -p $CONF... (4 Replies)
Discussion started by: max29583
4 Replies

5. Shell Programming and Scripting

Shell script help required

Hi, Can someone help me with this small piece of code. DIRNAME=$(dirname $0) BASENAME=$(basename $0) DATA="${DIRNAME}/${BASENAME}.data" && . $DATA whats is meant by && . $DATA here... Regards, Abhishek (2 Replies)
Discussion started by: max29583
2 Replies

6. Shell Programming and Scripting

Shell Script Required

I have following information in one file. ObjID: 004ee4e4-0d92-71dd-1512-9887a1f10000 Address: 152.135.0.61 PingState: Ping Responding ----------------Management Address--------------------- ++++++++++++++++Interface+++++++++++++++++++++ IFName: dall00r1.mis.amat.com ] ObjID:... (3 Replies)
Discussion started by: ntgobinath
3 Replies

7. Shell Programming and Scripting

Shell Script Required!

Hi people, I am new to this forum. I have taken unix this semester in my college and i am new to it. I am finding shell scripting a bit hard and i need a little help. I require a shell script to delete files that end as .bak , .BAK, #, ~ and files with the name core.The Script should accept... (3 Replies)
Discussion started by: vats
3 Replies

8. Linux

shell script required

Hi, iam presenting the input text file format.Of this i need the character count of the number of characters present in each file.The attached file is a combination of 3 text file.each text file starts at record 1 - 34, then the next tetx file starts. What i need is the character count of each... (1 Reply)
Discussion started by: sethunath
1 Replies

9. Shell Programming and Scripting

shell script required

hi , i need a shell script that will remove the first and second lines of the text file and will list the word count of the characters present in it. the text file will be consisting of multiple textfiles.the first text file starts from 01-34.like wise the next file also starts from 01-34... (4 Replies)
Discussion started by: sethunath
4 Replies
Login or Register to Ask a Question