08-26-2005
How to parse a text file with \034 as field and \035 as end of message delimiter?
I need some tips to write a unix korn shell script that will parse an input text file. Input text file has messages that span several lines, each field in the message is delimited by /034 and the end of message is delimited by /035.
Input file looks something similar to
messge1:field1/034field2/034/n
field3/034field4/034field5/034/n
field6/034/field7/034/035/n
messge2:field1/034field2/034/n
field3/034field4/034field5/034/n
field6/034/field7/034/035/n
I want to write a script to parse the input file that results in an output file similar to
messge1:field1,field2,field3,field4,field5,field6,field7/n
messge2:field1,field2,field3,field4,field5,field6,field7/n
The idea is to convert each message into one single line instead of several lines so that it becomes easier to grep or awk for patterns or fields.
Throw in some ideas.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have file with 20 fields and its pipe delimiter. I need to remove the 18th field along with pipe delimiter that seperates 17th and 18th field. In turn that means i want to make it now a file with only 19 fields. Can some body let me know how ican remove the 18th field from the whole file? (5 Replies)
Discussion started by: dsravan
5 Replies
2. Shell Programming and Scripting
Hi All,
Please tell me how to append some text message at the end of the file.
"File too large to view"
example: xyz.log contains
hhhhhhhhhhh
hhhhhhjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjj
"File too large to view"
Please advice (3 Replies)
Discussion started by: rajeshorpu
3 Replies
3. Shell Programming and Scripting
Hi,
I am working on the script to parsing the specific message like "aaaa" in multiple log files like N1-***,N2-***,N3-***...
The script is to find the list of lof files which contains the message "aaaa" and export the list into excel filE.
Can anyone give help?
Thanks (2 Replies)
Discussion started by: shyork2001
2 Replies
4. Shell Programming and Scripting
I have a xmlfile like this:
<?xml version="1.0" encoding="utf-8"?>
<contentlocation xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns="http://wherein.yahooapis.com/v1/schema" xml:lang="en">
<processingTime>0.001538</processingTime>
... (1 Reply)
Discussion started by: unclecameron
1 Replies
5. Shell Programming and Scripting
can anyone tell me please ......how to append a new field at the end of a file with the help of sed or some other command in bourne shell (8 Replies)
Discussion started by: amitpta
8 Replies
6. Shell Programming and Scripting
Hi All,
I wanted to find 200th field value in delimiter file using awk.?
awk '{print $200}' inputfile
I am getting error message :-
awk: The field 200 must be in the range 0 to 199.
The source line number is 1.
The error context is
{print >>> $200 <<< }
using... (4 Replies)
Discussion started by: Jairaj
4 Replies
7. Shell Programming and Scripting
Hi,
I have a No Delimiter variable length text file with following schema -
Column Name Data length
Firstname 5
Lastname 5
age 3
phoneno1 10
phoneno2 10
phoneno3 10
sample data - ... (16 Replies)
Discussion started by: Gaurav Martha
16 Replies
8. Shell Programming and Scripting
Greetings.
I've got a csv file with data along these lines:
Spumoni's Pizza Place, Placemats n Things, Just Lamps
Counterfeit Dollars by Vinnie, Just Shades, Dollar StoreI want to replace the entire comma-delimited field if it matches something ending in "Place" or beginning with "Dollar",... (2 Replies)
Discussion started by: palmfrond
2 Replies
9. Shell Programming and Scripting
I am trying to parse the input in awk to include the |gc= in $4 but am not able to. The below is close:
awk so far:
awk '{sub(/\|]+]++/, ""); print }' input.txt Input
chr1 955543 955763 AGRN-6|pr=2|gc=75 0 +
chr1 957571 957852 AGRN-7|pr=3|gc=61.2 0 +
chr1 970621 ... (7 Replies)
Discussion started by: cmccabe
7 Replies
10. Shell Programming and Scripting
We have a csv file as mentioned below and the requirement is to change the date format in file as mentioned below.
Current file (file.csv)
----------------------
empname,date_of_join,dept,date_of_resignation
ram,08/09/2015,sales,21/06/2016
"akash,sahu",08/10/2015,IT,21/07/2016
... (6 Replies)
Discussion started by: gopal.biswal
6 Replies
SORTM(1) [nmh-1.5] SORTM(1)
NAME
sortm - sort messages
SYNOPSIS
sortm [+folder] [msgs] [-datefield field] [-textfield field] [-notextfield] [-limit days] [-nolimit] [-verbose | -noverbose] [-version]
[-help]
DESCRIPTION
Sortm sorts the specified messages in the named folder according to the chronological order of the "Date:" field of each message.
The -verbose switch directs sortm to tell the user the general actions that it is taking to place the folder in sorted order.
The -datefield field switch tells sortm the name of the field to use when making the date comparison. If the user has a special field in
each message, such as "BB-Posted:" or "Delivery-Date:", then the -datefield switch can be used to direct sortm which field to examine.
The -textfield field switch causes sortm to sort messages by the specified text field. If this field is "subject", any leading "re:" is
stripped off. In any case, all characters except letters and numbers are stripped and the resulting strings are sorted datefield-major,
textfield-minor, using a case insensitive comparison.
With -textfield field, if -limit days is specified, messages with similar textfields that are dated within `days' of each other appear
together. Specifying -nolimit makes the limit infinity. With -limit 0, the sort is instead made textfield-major, date-minor.
For example, to order a folder by date-major, subject-minor, use:
sortm -textfield subject +folder
FILES
$HOME/.mh_profile The user profile
PROFILE COMPONENTS
Path: To determine the user's nmh directory
Current-Folder: To find the default current folder
SEE ALSO
folder(1)
DEFAULTS
`+folder' defaults to the current folder
`msgs"'defaultstoall"
`-datefield' defaults to date
`-notextfield'
`-noverbose'
`-nolimit'
CONTEXT
If a folder is given, it will become the current folder. If the current message is moved, sortm
will preserve its status as current.
HISTORY
Timezones used to be ignored when comparing dates: they aren't any more.
Messages which were in the folder, but not specified by `msgs', used to be moved to the end of the folder; now such messages are left
untouched.
Sortm sometimes did not preserve the message numbering in a folder (e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3 after
sorting). This was a bug, and has been fixed. To compress the message numbering in a folder, use "folder -pack" as always.
BUGS
If sortm encounters a message without a date-field, or if the message has a date-field that sortm cannot parse, then sortm attempts to keep
the message in the same relative position. This does not always work. For instance, if the first message encountered lacks a date which
can be parsed, then it will usually be placed at the end of the messages being sorted.
When sortm complains about a message which it can't temporally order, it complains about the message number prior to sorting. It should
indicate what the message number will be after sorting.
MH.6.8 11 June 2012 SORTM(1)