Visit Our UNIX and Linux User Community


Converting file format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Converting file format
# 1  
Old 07-28-2009
Issues with converting Pipe delimited file into Tab delimited

My input file is Pipe delimited with 10 fields, I am trying to create a tab delimited output file with 6 fields from the provided input file.

Below is sample data

Input file
Code:
abc||2|PIN|num||||www.123.com|abc@123.com|
bcd||2|PIN|num|||||abc@123.com|
efg||2|PIN|num||||www.123.com|abc@123.com|
dbd||2|PIN|num|||||abc@123.com|


Expected Output file
(tab delimited)

Code:
abc        2         PIN         num         www.123.com         abc@123.com
 bcd        2         PIN         num                                      abc@123.com
 efg         2         PIN         num         www.123.com         abc@123.com
 dbd         2         PIN         num                                     abc@123.com

I am able to convert the file into tab delimited output using awk -F"|" 'BEGIN{OFS="|"}{print $1" , however the output file generated has issues for somoe records with NULL URLs(www.123.com)

Sample data from my Output file


Code:
abc        2         PIN         num         www.123.com         abc@123.com
  bcd        2         PIN         num         abc@123.com
  efg         2         PIN         num         www.123.com         abc@123.com
  dbd         2         PIN         num        abc@123.com

What I need is in the case of a blank URL it should be replaced by tab or 'NA'

Can some one please help is achieving the desired output file ?

Thank you
Raghs,

Last edited by Yogesh Sawant; 07-28-2009 at 11:51 AM.. Reason: added code tags
# 2  
Old 07-28-2009
Code:
sed -e 's/|/        /g' input_file

where the tab is input with: CTRL-v TAB

output:

Code:
abc             2       PIN     num                             www.123.com     abc@123.com
bcd             2       PIN     num                                     abc@123.com
efg             2       PIN     num                             www.123.com     abc@123.com
dbd             2       PIN     num                                     abc@123.com

# 3  
Old 07-28-2009
Code:
sed 's/|/\t/g' filename

# 4  
Old 07-28-2009
Quote:
Originally Posted by pasupuleti81
What I need is in the case of a blank URL it should be replaced by tab or 'NA'
Just a guess, though ...

Code:
sed -i 's/|||||/||||NN|/g' input.file

(then "awk as usual" ...).

Previous Thread | Next Thread
Test Your Knowledge in Computers #550
Difficulty: Medium
The string concatenation operator can sometimes be combined with non-string types; numerical types.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

help required in converting a file format

My file format: -------------------------------------------------- Complete Consistency Check Valid Area : VALID:VALID Started by : esanwad Started at : Thu Dec 11 16:04:46 2014 CNA version : R21H04_EC08 Check range : AREA VALID/VALID ... (4 Replies)
Discussion started by: Gautam Banerjee
4 Replies

2. Shell Programming and Scripting

Need help in converting the file format

Hi All, I need help in converting the mentioned file format into desired output format using awk. Could anyone help me in this? Below is the input.. Date Account Campaign AdGroup Keyword Conversion Revenue Var1 Var2 Var3 Var4 Var5 10 20 30 ... (8 Replies)
Discussion started by: Ravi S M
8 Replies

3. Shell Programming and Scripting

Format problem while converting text file to csv

Hi , I need a help in following scenario.I tried searching in google but couldn't able to find the exact answer. Sorry if i am re-posting already answered query. While i am trying to convert into log file into csv i couldn't able to get the format which i am looking for. I converted file... (4 Replies)
Discussion started by: varmas424
4 Replies

4. UNIX for Advanced & Expert Users

Converting the date format in a flat file

Hi All, I am new to this forum, could any one help me out in resolving the below issue. Input of the flat file contains several lines of text for example find below: 5022090,2,4,7154,88,,,,,4/1/2011 0:00,Z,L,2 5022090,3,1,6648,88,,,,,4/1/2011 0:00,Z,,1... (0 Replies)
Discussion started by: av_sagar
0 Replies

5. Shell Programming and Scripting

Converting windows format file to unix format using script

Hi, I am having couple of files which i used to copy from windows to Linux, so now in case of text files (CTRL^M) appears at end of line. I know i can convert this windows format file to unix format file by running dos2unix. My requirement here is that i want to do it automatically using a... (5 Replies)
Discussion started by: sarbjit
5 Replies

6. UNIX for Dummies Questions & Answers

Converting binary file to readable format in Ksh

In Unix/Ksh, when I try to look inside a file it says that the file may be a binary file and if I want to see it anyway. When i say 'yes', it shows me the content filled with unreadable symbols (looks like binary). Is there a command that I can run from the Unix prompt to convert/translate that... (3 Replies)
Discussion started by: arthurs
3 Replies

7. Shell Programming and Scripting

Converting Unicode file to UTF8 format

Hi, I have a file in my desktop which is a unicode format. After this file is transferred to Unix using FTP, we are seeing some special character (like rectangle box type) at the first line. The same file is saved as UTF8 (using textpad tool, selecting encode to UTF-8 option) on my desktopand... (7 Replies)
Discussion started by: vfrg
7 Replies

8. Shell Programming and Scripting

Sybase Interface file and converting in text format.

Does anyone knows how to decode the address in interface file using shell , i have done it using perl but can it be done in shell. master tli tcp /dev/tcp \x00021004ac1414230000000000000000 query tli tcp /dev/tcp \x00021004ac1414230000000000000000 (0 Replies)
Discussion started by: dinjo_jo
0 Replies

9. Shell Programming and Scripting

converting config file to csv format

Hello, For 2 days now i've been searching for a solution to this. I am now beginning to doubt this is even possible. It's even harder when you don't know how to search for it. (which keywords generate enough relevancy etc..) I need to parse a config file to generate a CSV file in return. It... (7 Replies)
Discussion started by: zer0dvide
7 Replies

10. UNIX for Dummies Questions & Answers

Converting the File Creation Date to a new format

I need to capture a file's creation/modification date and time and convert this to a different format, whilst I can easily get the existing format from a ls -l | awk ' { print $......}' or a cut command I do not know how to convert it to a desired format? I should add that at present the ls -l... (1 Reply)
Discussion started by: barney_clough
1 Replies

Featured Tech Videos