Remove the file content based on the Header of the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove the file content based on the Header of the file
# 1  
Old 08-02-2012
Question Remove the file content based on the Header of the file

Hi All,

I want to remove the content based on the header information .
Please find the example below.

File1.txt

Code:
Name|Last|First|Location|DepId|Depname|DepLoc
naga|rr|tion|hyd|1|wer|opr
Nava|ra|tin|gen|2|wera|opra

I have to search for the DepId and remove the data from the DepId to the end of the file.

output.txt

Code:
Name|Last|First|Location|DepId
naga|rr|tion|hyd|1|wer
Nava|ra|tin|gen|2|wera

Thanks in Advance.

Last edited by Scott; 08-02-2012 at 06:59 AM.. Reason: Code tags, not quote tags, thanks.
# 2  
Old 08-02-2012
Code:
 
$ nawk -F\| '{for(i=1;i<=4;i++)printf("%s|",$i);print $5}' input.txt
Name|Last|First|Location|DepId
naga|rr|tion|hyd|1
Nava|ra|tin|gen|2

This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 08-03-2012
hi itkamaraj, Thanks for the reply.. i hope we can do the above only for the 5th filed.. if i want to search for the particular field and remove the fields from then.. the exact req is where ever the DepId is i have remove the all other coulumns after DepId.. Thanks for undertanding..
# 4  
Old 08-03-2012
try this..

Code:
 
awk -F\| 'NR==1{for(i=1;i<=NF;i++)if($i~/DepId/)val=i}{for(i=1;i<=val-1;i++)printf("%s|",$i);print $val}' input.txt

This User Gave Thanks to itkamaraj For This Post:
# 5  
Old 08-03-2012
With gawk:
Code:
gawk -F\| 'NR==1{
for(i=1;i<=NF;i++)
 if($i~from)
 {
  fromn=i
  break
 }
 NF=fromn;print
 next
}{NF=fromn}1' from='DepId' OFS='|' infile

Just replace value of the from variable as per your requirement...
This User Gave Thanks to elixir_sinari For This Post:
# 6  
Old 08-03-2012
@itkamaraj : The code is working as expected.. Thanks once again Smilie

@elixir_sinari : Thanks for replying.. working as expected Smilie Smilie
This User Gave Thanks to i150371485 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to create file and file content based existing information?

Hi Gurus, I am SQL developer and new unix user. I need to create some file and file content based on information in two files. I have one file contains basic information below file1 and another exception file file2. the rule is if "zone' and "cd" in file1 exists in file2, then file name is... (13 Replies)
Discussion started by: Torhong
13 Replies

2. Shell Programming and Scripting

Find columns in a file based on header and print to new file

Hello, I have to fish out some specific columns from a file based on the header value. I have the list of columns I need in a different file. I thought I could read in the list of headers I need, # file with header names of required columns in required order headers_file=$2 # read contents... (11 Replies)
Discussion started by: LMHmedchem
11 Replies

3. Shell Programming and Scripting

Split a file based on encountering header

I need to split a file based on headers found Input file file1 content: ADD john mickey DROP matt sam output of file F1 john mickey output of file F2 matt sam (5 Replies)
Discussion started by: Diddy
5 Replies

4. Shell Programming and Scripting

How to remove exisiting file content from a file and have to append new file content?

hi all, i had the below script x=`cat input.txt |wc -1` awk 'NR>1 && NR<'$x' ' input.txt > output.txt by using above script i am able to remove the head and tail part from the input file and able to append the output to the output.txt but if i run it for second time the output is... (2 Replies)
Discussion started by: hemanthsaikumar
2 Replies

5. Shell Programming and Scripting

Print the column content based on the header

i have a input of csv file as below but the sequence of column get changed. I,e it is not necessary that name comes first then age and rest all, it may vary. name,age,marks,roll,section kevin,25,80,456,A Satch,23,56,789,B Meena,24,78,H245,C So i want to print that column entires which... (12 Replies)
Discussion started by: millan
12 Replies

6. Shell Programming and Scripting

Shell Script to Dynamically Extract file content based on Parameters from a pdf file

Hi Guru's, I am new to shell scripting. I have a unique requirement: The system generates a single pdf(/tmp/ABC.pdf) file with Invoices for Multiple Customers, the format is something like this: Page1 >> Customer 1 >>Invoice1 + invoice 2 >> Page1 end Page2 >> Customer 2 >>Invoice 3 + Invoice 4... (3 Replies)
Discussion started by: DIps
3 Replies

7. UNIX for Dummies Questions & Answers

Changing file content based on file header

Hi, I have several text files each containing some data as shown below: File1.txt >DataHeader Data... Data... File2.txt >DataHeader Data... Data... etc. What I want is to change the 'DataHeader' based on the file name. So the output should look like: File1.txt >File1 ... (1 Reply)
Discussion started by: Fahmida
1 Replies

8. Shell Programming and Scripting

Help with rename header content based on reference file problem

I got long list of reference file >data_tmp_number_22 >data_tmp_number_12 >data_tmp_number_20 . . Input file: >sample_data_1 Math, 5, USA, tmp SDFEWRWERWERWRWER FSFDSFSDFSDGSDGSD >sample_data_2 Math, 15, UK, tmp FDSFSDFF >sample_data_3 Math, 50, USA, tmp ARQERREQR . . Desired... (7 Replies)
Discussion started by: perl_beginner
7 Replies

9. Shell Programming and Scripting

Remove specific pattern header and its content problem facing

Input file: >TRACK: Position: 1 TYPE: 1 Pos: SVAVPQRHHPGGTVFREPIIIPAIPRLVPGWNKPIIIGRHAFGDQYRATDRVIPGPGKLE LVYTPVNGEPETVKVYDFQGGGIAQTQYNTDESIRGFAHASFQMALLKGLPLYMSTKNTI LKRYDGRFKDIFQEIYESTYQKDFEAKNLWYEHRLIDDMVAQMIKSEGGFVMALKNYDGD >TRACK: Position: 1 TYPE: 2 Pos: FAHASFQMALLKGLPLYMS... (8 Replies)
Discussion started by: patrick87
8 Replies

10. UNIX for Advanced & Expert Users

Reading a file and sending mail based on content of the file

Hi Gurus, I am having an requirement. i have to read a list file which contains file names and send mail to different users based on the files in the list file. eg. if file a.txt exists then send a mail to a@a.com simillary for b.txt,c.txt etc. Thanks for your help, Nimu (6 Replies)
Discussion started by: nimu1979
6 Replies
Login or Register to Ask a Question