How to generate a pipe ( | ) delimited file?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to generate a pipe ( | ) delimited file?
# 1  
Old 10-07-2008
How to generate a pipe ( | ) delimited file?

SmilieHi Friends,

I have certain log files extracted. I want it to be converted in pipe ( | ) delimited file. How do i do it?

E.g.

Account Balance : 123456789 Rs O/P (Account Balance: | 123456789 Rs)
Account Balance (Last) > 987654321 Rs O/P (Account Balance (Last) | 987654321 Rs)
Last update = 21/09/2008 5.30 PM O/P (Last update = | 21/09/2008 | 5.30 | PM)

SmilieNow the real complication is, it can be anything apart from above mentioned example. So it would be great help if you explain the script a bit so that I can write it as I want.


Is it possible?
If yes,
Requesting you to guide me to write a "Simple" script.
Wold appreciate if you explain it briefly as well Smilie

Bye
Anushree
# 2  
Old 10-07-2008
Usually you can use something like 'sed -e "s/[:>]/|/g" -e "s/=/= |/g" filename' but your "/2008 | 5.30 | PM" can't be anchored since it doesn't follow any replacement rules. Maybe somebody can whip up a better example if you provide more elaborate replacement rules...
# 3  
Old 10-07-2008
what's your rules?
If you do not have rules, nobody can do it.
# 4  
Old 10-07-2008

How are the fields delimited in the file?

If the separator is any of the :, >, and =, use awk, with FS set to a pattern that matches all three:

Code:
awk -F '[:>=]' '
   BEGIN { OFS = "|" }
         { $1 = $1; print }
' LOGFILE

# 5  
Old 10-15-2008
existing delimiter is "Sapce"
# 6  
Old 10-15-2008
Code:
$ cat buf | tr -s ' ' '|'
Account|Balance|:|123456789|Rs|O/P|(Account|Balance:|123456789|Rs)
Account|Balance|(Last)|>|987654321|Rs|O/P|(Account|Balance|(Last)|987654321|Rs)
Last|update|=|21/09/2008|5.30|PM|O/P|(Last|update|=|21/09/2008|5.30|PM)

Is that what you want ?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

2. Shell Programming and Scripting

How to ignore Pipe in Pipe delimited file?

Hi guys, I need to know how i can ignore Pipe '|' if Pipe is coming as a column in Pipe delimited file for eg: file 1: xx|yy|"xyz|zzz"|zzz|12... using below awk command awk 'BEGIN {FS=OFS="|" } print $3 i would get xyz But i want as : xyz|zzz to consider as whole column... (13 Replies)
Discussion started by: rohit_shinez
13 Replies

3. Shell Programming and Scripting

Help with converting Pipe delimited file to Tab Delimited

I have a file which was pipe delimited, I need to make it tab delimited. I tried with sed but no use cat file | sed 's/|//t/g' The above command substituted "/t" not tab in the place of pipe. Sample file: abc|123|2012-01-30|2012-04-28|xyz have to convert to: abc 123... (6 Replies)
Discussion started by: karumudi7
6 Replies

4. Shell Programming and Scripting

Linux - Script to generate the output delimited by Comma/Pipe

Hi All, I have a requirement where I need to go to a directory, list all the files that start with person* (for eg) & read the most recent file from the list of files. While browsing through the forum, i found that the command ls -t will list the files. I am trying to generate the output... (1 Reply)
Discussion started by: dsfreddie
1 Replies

5. UNIX for Dummies Questions & Answers

Reading a pipe delimited file

Hi Guys, i am reading a pipe delimited file using awk command. I have tested the gawk separately. it was fine. But when i execute the script. i am getting the following error saying command not found. Can somebody point out as what i am doing wrong. Cheers!!! (3 Replies)
Discussion started by: mac4rfree
3 Replies

6. Shell Programming and Scripting

How to convert a space delimited file into a pipe delimited file using shellscript?

Hi All, I have space delimited file similar to the one as shown below.. I need to convert it as a pipe delimited, the values inside the pipe delimited file should be as highlighted... AA ATIU2345098809 009697 005374 BB ATIU2345097809 005445 006518 CC ATIU9685098809 003215 003571 DD... (7 Replies)
Discussion started by: nithins007
7 Replies

7. UNIX for Dummies Questions & Answers

Delete last value from pipe delimited file

I have a large(ish) pipe delimited file. The last line of the file contains a total row count and a checksum: END|1537451|1328569446 After making other adjustments to the file, I need to strip out the checksum and apply a new value - I have a script to generate the checksum and 'cat' it... (3 Replies)
Discussion started by: relentl3ss
3 Replies

8. Shell Programming and Scripting

convert a pipe delimited file to a':" delimited file

i have a file whose data is like this:: osr_pe_assign|-120|wg000d@att.com|4| osr_evt|-21|wg000d@att.com|4| pe_avail|-21|wg000d@att.com|4| osr_svt|-11|wg000d@att.com|4| pe_mop|-13|wg000d@att.com|4| instar_ready|-35|wg000d@att.com|4| nsdnet_ready|-90|wg000d@att.com|4|... (6 Replies)
Discussion started by: priyanka3006
6 Replies

9. UNIX for Dummies Questions & Answers

Extracting from pipe delimited file.

Hey, I am new to regualar expression. I wanted to extract the information from a pipe delimited file which has some entries like L|S2CMG1B|||-11178399||1|-8.65|IRCSH|BOND||||N|S|IRDL|AUD||CRP|STD|CRP|M|0|1|||CSH||||OTHER|01|DE|KFW|50418Y9T5|||||||||||2|||||| In this I want to extract the... (1 Reply)
Discussion started by: leepan2008
1 Replies

10. Shell Programming and Scripting

How to split pipe delimited file

I have a pipe delimited input file as below. First byte of the each line indicate the record type. Then i need to split the file based on record_type = null,0,1,2,6 and create 5 files. How do i do this in a ksh script? Pls help |sl||SL|SL|SL|1996/04/03|1988/09/15|C|A|sl||||*|... (4 Replies)
Discussion started by: njgirl
4 Replies
Login or Register to Ask a Question