Sponsored Content
Full Discussion: Problem in Formatting File
Top Forums Shell Programming and Scripting Problem in Formatting File Post 302070994 by Dhruva on Tuesday 11th of April 2006 08:40:25 AM
Old 04-11-2006
Problem in Formatting File

I am facing a very challenging task here but can't finish it.I request all of you to help me please.


I have one file which contain some data i need to format it.
data file contain data like

54321|item-68|owner|yes||||$
00-10|invoice|3221|||#
00-11|invoice|3221|||#
00-12|invoice|3221|||#
book1|032|US|yes|||@

54300|item-68|owner|yes||||$
00-211|invoice|3221|||#
00-113|invoice|3221|||#
00-124|invoice|3221|||#
00-135|invoice|3221|||#
bookdoon|032|US|yes|||@
bookdooner|032|US|yes|||@
......................
......................
.....................

Required format:
54321|item-68|owner|yes||||00-10|invoice|3221|||book1|032|US|yes|||
54321|item-68|owner|yes||||00-11|invoice|3221|||
54321|item-68|owner|yes||||00-12|invoice|3221|||
54300|item-68|owner|yes||||00-1|invoice|3221|||bookdoon|032|US|yes|||
54300|item-68|owner|yes||||0-1|invoice|3221|||book3|032|US|yes|||



lines delimited by # may be more than 4 or less and same for line delimited by @.but line prceded by $ will always be one.
to explain more clearly lets take line preceded by $ is A
by # B
by @ D

we have file like
A$
B#
C#
D#
E@


and i need output in a file like
A B E
A C
A D

Last edited by Dhruva; 04-11-2006 at 10:18 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Problem re-formatting Disk Partition

I have a disk formatted as follows. Part Flag Tag Cylinders Size =================================================== 0 wm root 0 - 38125 26.18 Gb 1 wu swap 38126 - 49776 8 Gb 2 wm backup 0 - 49779 34.18 Gb 3 wm unassigned 4 wm unassigned 5 wm unassigned 6 wm unassigned... (1 Reply)
Discussion started by: jimthompson
1 Replies

2. Shell Programming and Scripting

Formatting Problem

Hi Suppose we have a file consisting of nos in following format 123 - 789 123 - 828 345 - 989 345 - 792 I require the following output 123, 789,828 345, 989,792 Means Unique nos in 1st Column and Corresponding two nos in comma separated 2nd Column Please help me out... (6 Replies)
Discussion started by: PradeepRed
6 Replies

3. Shell Programming and Scripting

AWK Formatting Problem

Hi All, I'm having a problem with the way awk is interperting a space between double quotes in a for loop. Below is the code and output from running the script: AWK for loop: for i in $(awk 'BEGIN{FS=","}{print "Probe Name:" $1};{print "Probe Temp:" $2};{ print... (2 Replies)
Discussion started by: cstovall
2 Replies

4. Shell Programming and Scripting

output formatting problem

I would like to keep the complete lines in the output, but my script adds carriage returns for each space (e.g. keep BRITISH AIRWAYS on one line in the output): File1= BAW BRITISH AIRWAYS RYR RYAN AIR for i in $(cat File1) do echo $i done Output: BAW BRITISH AIRWAYS RYR... (4 Replies)
Discussion started by: barny
4 Replies

5. UNIX for Dummies Questions & Answers

Conversion problem with date field and formatting.

Hi, My input file contains the record(s) as below with space as FS. 01-01024180 35000 MV010 02/03/09 0306 03060226 03 02-00410330 470000 MV010 02/03/09 0301 03010276 03 1. I need to convert the field 02/03/09 (dd/mm/yy) to yyyymmdd yet retain the Field separator. Using the modified... (2 Replies)
Discussion started by: talk2pawee
2 Replies

6. Shell Programming and Scripting

Problem with formatting text with awk

I want the following output: User ID: 4071 Last Name: Gills First Name: Roberts Address: Maple Dr. Phone#: 702346789 from this command: grep "$uId" database.txt | awk -F":" '{print "User ID:\t"$uId"\nLast Name:\t"$lname"\n...etc. }' But all I get is this: User ID:... (3 Replies)
Discussion started by: yonkers062986
3 Replies

7. Shell Programming and Scripting

Problem in formatting number

Hi, I was trying to format my number like i=1 to 000001 using the below method. typeset -Z6 i (sorry, corrected) My shell is K, is not doing, it is supposed to do Thanks in advance (6 Replies)
Discussion started by: ezee
6 Replies

8. Shell Programming and Scripting

trite formatting problem

Hello; having an annoying issue: I wish to have the same formatting in: awk '{print $1}' LOCAL f30f31be17a236378ac896639cc1b996 bff4c460f601444db6ef7f6ad6ca44b9 347a399b6fe9c2f21e6a7f55911c1483 ce3f8fdd4919e891090ca27872f4f983 c00098663f064d14065d0ef248a4db44... (2 Replies)
Discussion started by: delphys
2 Replies

9. UNIX for Advanced & Expert Users

Dos2UNIX formatting problem

Hi, I was trying to dos2unix a file that has some special characters but dos2unix converted those into different format. I am working on sun server. I guess the default for dos2unix on sun server is ISO format . Can i change the format so that it does the conversion in UTF format? Because I... (3 Replies)
Discussion started by: abhi1988sri
3 Replies

10. Shell Programming and Scripting

Output formatting problem

Hello; I have a simple loop filtering a log: for LU in $(< LU-list-Final) do OUT=$(grep -B1 $LU cibc-src-ip.cap |egrep 'IP 16|IP 19|IP 15' |awk -F">" '{print $1}') if ; then echo " LU $LU was accessed by ===============> $OUT " echo "" fi done The current output snippet looks like... (2 Replies)
Discussion started by: delphys
2 Replies
LedgerSMB::DBObject::Payment(3pm)			User Contributed Perl Documentation			 LedgerSMB::DBObject::Payment(3pm)

NAME
LedgerSMB::DBOject::Payment - Payment Handling Back-end Routines for LedgerSMB SYNOPSIS
Provides the functions for generating the data structures payments made in LedgerSMB. This module currently handles only basic payment logic, and does handle overpayment logic, though these features will be moved into this module in the near future. COPYRIGHT
Copyright (c) 2007 The LedgerSMB Core Team. Licensed under the GNU General Public License version 2 or at your option any later version. Please see the included COPYRIGHT and LICENSE files for more information. METHODS
LedgerSMB::DBObject::Payment->new() Inherited from LedgerSMB::DBObject. Please see that documnetation for details. $payment->get_open_accounts() This function returns a list of open accounts depending on the $payment->{account_class} property. If this property is 1, it returns a list of vendor accounts, for 2, a list of customer accounts are returned. The returned list of hashrefs is stored in the $payment->{accounts} property. Each hashref has the following keys: id (entity id), name, and entity_class. An account is considered open if there are outstanding, unpaid invoices attached to it. Customer/vendor payment threshold is not considered for this calculation. text_amount($value) Returns the textual representation, as defined in localization rules, for the numeric value passed. get_metadata() Semi-private method for preparing the object for other tasks, such as displaying payment options. search() Seturns a series of payments matching the search criteria. Search results are also stored at $payment->{search_results}. get_open_accounts() Returns a list of open accounts for the payment operation. These are also stored on $payment->{accounts} $payment->get_entity_credit_account() Returns billing information for the current account, and saves it to an arrayref at $payment->{entity_accounts}/ $payment->get_all_accounts() This function returns a list of open or closed accounts depending on the $payment->{account_class} property. If this property is 1, it returns a list of vendor accounts, for 2, a list of customer accounts are returned. The returned list of hashrefs is stored in the $payment->{accounts} property. Each hashref has the following keys: id (entity id), name, and entity_class. $payment->reverse() This function reverses a payment. A payment is defined as one source ($payment->{source}) to one cash account ($payment->{cash_accno}) to one date ($payment->{date_paid}) to one vendor/customer ($payment->{credit_id}, $payment->{account_class}). This reverses the entries with that source. $payment->get_open_invoices() This function returns a list of open invoices depending on the $payment->{account_class}, $payment->{entity_id}, and $payment->{curr} properties. Account classes follow the conventions above. This list is hence specific to a customer or vendor and currency as well. The returned list of hashrefs is stored in the $payment->{open_invoices} property. Each hashref has the following keys: id (entity id), name, and entity_class. $payment->get_open_invoice() This function is an especific case of get_open_invoices(), because get_open_invoice() can search for a specific invoice, wich can be searched by the $payment->{invnumber} variable $payment->get_all_contact_invoices() This function returns a list of open accounts depending on the $payment->{account_class} property. If this property is 1, it returns a list of vendor accounts, for 2, a list of customer accounts are returned. Attached to each account is a list of open invoices. The data structure is somewhat complex. Each item in the list has the following keys: contact_id, contact_name, account_number, total_due, and invoices. The invoices entry is a reference to an array of hashrefs. Each of these hashrefs has the following keys: invoice_id, invnumber, invoice_date, amount, discount, and due. These are filtered based on the (required) properties: $payment->{account_class}, $payment->{business_type}, $payment->{date_from}, $payment->{date_to}, and $payment->{ar_ap_accno}. The $payment->{ar_ap_accno} property is used to filter out by AR or AP account. The following can also be optionally passed: $payment->{batch_id}. If this is patched, vouchers in the current batch will be picked up as well. The returned list of hashrefs is stored in the $payment->{contact} property. Each hashref has the following keys: id (entity id), name, and entity_class. list_open_projects This method gets the current date attribute, and provides a list of open projects. The list is attached to $self->{projects} and returned. list_departments This method gets the type of document as a parameter, and provides a list of departments of the required type. The list is attached to $self->{departments} and returned. list_open_vc This method gets the type of vc (vendor or customer) as a parameter, and provides a list of departments of the required type. The list is attached to $self->{departments} and returned. get_open_currencies This method gets a list of the open currencies inside the database, it requires that $self->{account_class} (must be 1 or 2) exist to work. WARNING THIS IS NOT BEEING USED BY THE SINGLE PAYMENT SYSTEM.... list_accounting This method lists all accounts that match the role specified in account_class property and are available to store the payment or receipts. =back list_overpayment_accounting This method lists all accounts that match the role specified in account_class property and are available to store an overpayment / advanced payment / pre-payment. =back get_sources This method builds all the possible sources of money, in the future it will look inside the DB. =back get_exchange_rate(currency, date) This method gets the exchange rate for the specified currency and date get_default_currency This method gets the default currency =back get_current_date This method returns the system's current date get_vc_info This method returns the contact informatino for a customer or vendor according to $self->{account_class} get_payment_detail_data This method sets appropriate project, department, etc. fields. post_bulk This function posts the payments in bulk. Note that queue_payments is not a common setting and rather this provides a hook for an add- on. This API was developed early in 1.3 and is likely to change for better encapsulation. Currenty it uses the following structure: Within the main hashref: contact_count The number of payments. One per contact. contact_$row for (1 .. contact_count), contact_$_ is the entity credit account's id associated with the current contact. We will call this $contact_id below. For each contact id, we have the following, suffixed with _$contact_id: source invoice_count Number of invoices to loop through invoice_${contact_id}_$row for $row in (1 .. invoice_count), each this provides the transaction id of the invoice. Each invoice has the following attributes, suffxed with ${invoice_id} amount paid net In the future the payment posting API will become more standardized and the conversion between flat and hierarchical representation will be moved to the workflow scripts. check_job To be moved into payment_queue addon. post_payment This method uses payment_post to store a payment (not a bulk payment) on the database. gather_printable_info This method retrieves all the payment related info needed to build a document and print it. IT IS NECESSARY TO ALREADY HAVE payment_id on $self get_open_overpayment_entities This method retrieves all the entities with the specified account_class which have unused overpayments get_unused_overpayments This is a simple wrapper around payment_get_unused_overpayments sql function. get_available_overpayment_amount Simple wrapper around payment_get_available_overpayment_amount sql function. init Initializes the num2text system num2text Translates numbers into words. perl v5.14.2 2012-03-25 LedgerSMB::DBObject::Payment(3pm)
All times are GMT -4. The time now is 09:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy