Delete line from file using ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete line from file using ksh
# 1  
Old 10-15-2010
Delete line from file using ksh

Hi,
I want to parse each line from input file. I need to look for the 4th field of line, If its 1 then I need to remove that line from file.
Input file contents are,

Code:
02;ABC;PQR;1;dfg
03;aaa;rrr;0;fgv
04;ABC;ggg;0fgv
09;eee;ABC;1;asd
04;lmn;stu;1;oik

Code for getting that line,

Code:
while read line
do
Val=`echo $line | cut -d ";" -f 4`
if [ "$Val" -eq 1 ]; then
// remove the line from file
fi
done < $file

For removing that line i used,
Code:
grep -v $line > $file

but after executing it, all lines from input file got deleted.
Please let me know where i am goes wrong. I want to write it in shell script (ksh).
Please help me out in this.

Last edited by Poonamol; 10-15-2010 at 08:28 AM.. Reason: tags
# 2  
Old 10-15-2010
Code:
nawk -F';' '$4!="1"' OFS=';' myFile > myNewFile

# 3  
Old 10-15-2010
I already did the coding for each line read and getting the line, just want to delete it from file.

Code:
while read line
do
Val=`echo $line | cut -d ";" -f 4`
if [ "$Val" -eq 1 ]; then
// remove the line from file
fi
done < $file

# 4  
Old 10-15-2010
@Poonamol

I don't know why you still prefer using "your code"... vgersh99's answer is much more sofisticated and the best way to do it!

Anyway, I believe this is what you are looking for:
Code:
...
if [ "$Val" -ne 1 ]; then 
echo "$line"
...

Cheers
# 5  
Old 10-15-2010
Thanks for reply.
I did 80% of coding in my way using ksh script, so for a single delete command, why I prefer any other way?
I do not want to print that line. I want to delete a line from file.
# 6  
Old 10-15-2010
Quote:
Originally Posted by Poonamol
Thanks for reply.
I did 80% of coding in my way using ksh script, so for a single delete command, why I prefer any other way?
For instance because if you have a big file and you use one awk command your output result will come faster Smilie
# 7  
Old 10-15-2010
My input file is also a big one.
But for each line I need to do something, so i am parsing each line.
If one field (4th) is one i am putting data from that line into database table. So I want to delete it from input file. I did all code in ksh and mostly prefer to do in it. But awk is not my issue. I just want to remove line from file which fits in my code.

Thanks a lot in advance.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

File same line delete

Hi, I want to do file1 to file2. Rows will be different every time. Thanks. file1 Fru-Name :BCNMB-B Fru-Location :/chassis-1/motherboard-1 Node-Name :LMP-1-1-1 Fru-Name :BMPP2-B Fru-Location :/chassis-1/slot-1 Node-Name :CFPU-0 Fru-Name :BMPP2-B Fru-Location... (2 Replies)
Discussion started by: ozcanaydin
2 Replies

2. UNIX for Advanced & Expert Users

How to find a string in a line in UNIX file and delete that line and previous 3 lines ?

Hi , i have a file with data as below.This is same file. But actual file contains to many rows. i want to search for a string "Field 039 00" and delete that line and previous 3 lines in that file.. Can some body suggested me how can i do using either sed or awk command ? Field 004... (7 Replies)
Discussion started by: vadlamudy
7 Replies

3. Shell Programming and Scripting

Delete a particular line from a file

I have a file of following form 2886758410 2886758500 17 1999-Mar-18 16:26:26 1 0 52 139 1129 2886758420 2886758500 17 1999-Mar-18 16:26:35 1 0 52 139 1131 2886758420 2886758500 17 1999-Mar-18 16:26:41 0 0 56 56 1132... (4 Replies)
Discussion started by: vaibhavkorde
4 Replies

4. Shell Programming and Scripting

Delete line from file

hi all, i have trackfile.txt which contains the data as 0 /home8/mc09ats/UnixCw/t1 1 /home8/mc09ats/UnixCw/t2 2 /home8/mc09ats/UnixCw/t3 3 /home8/mc09ats/UnixCw/t4 if user says delete 1 then i want to delete 1 /home8/mc09ats/UnixCw/t2 line from... (3 Replies)
Discussion started by: AbhijitIT
3 Replies

5. Shell Programming and Scripting

Delete first line from file and more....

Hello, I have to deal with several files that will be named something like this: E00001.TXT, E00002.TXT etc. Each file will have a alpha character on the first position of the first line which I want to place in a variable, then delete the entire line leaving the remainder of text. This new file... (6 Replies)
Discussion started by: dfb500
6 Replies

6. Shell Programming and Scripting

KSH: Reading a file line by line into multiple arrays

Hi - I have a file that contains data in this format:- #comment value1 value2 value3 #comment value4 value5 value6 value7 #comment value8 value9 I need to read value1, value2 and value3 into one array, value4 value5 value6 and value7 into another array and value8 and value9 into a 3rd... (2 Replies)
Discussion started by: sniper57
2 Replies

7. Shell Programming and Scripting

how to delete a line from the file

Hi, I have a file which contains entries with different numbers, for example: 275|24hroff|sel,fill,dbw| 2758|24hroff|sel,fill,dbw| 2765|24hroff|sel,fill,dbw| 2920|24hroff|sel,fill,dbw| I need to delete a line which contains certian number, for instance 275 I was trying to use 'sed' but... (3 Replies)
Discussion started by: aoussenko
3 Replies

8. Shell Programming and Scripting

read a file line by line in ksh

Hi, In ksh we use 'while read line' statement to read a file line by line. In my input file I have 5 spaces appended at the end of each line. When I use while read line statement it chops off the spaces at the end of each line Inp.txt aaaa<five spaces> bbbb<five spaces> cccc<five spaces> ... (3 Replies)
Discussion started by: chella
3 Replies

9. UNIX for Dummies Questions & Answers

How to delete line from a file

Hi , I have a file it content is like that /vol.nas/u08/aip_triage/hany/Tesko/:CC::RPAS /home/biblawh/myscript:CC::RPAS i need to search for a certain pattern inside that file and delete the line if i find this pattern without redirecting the output into another file . so i used the... (0 Replies)
Discussion started by: ramezernest
0 Replies

10. Shell Programming and Scripting

delete line in a file

Hi all, I would like to delete a line in file.txt which has a list of filename. example: file_a file_b file_c lets say i have file_b in my directory, then i should delete file_b in file.txt and get output file.txt with only file_a and file_b. Below is my script, my result is still ... (12 Replies)
Discussion started by: dta4316
12 Replies
Login or Register to Ask a Question