UNIX Scripting
Hi I am trying to read a record and split it into multiple records
My Record looks like this
1001A0010@B0010*&^0)C0012hgdj&6sD0020fhfri93kivmepi9
where
UniqueID is 1001
segments are A,B,C,D
length of each segment is 4 characters after the segment 0010 for A
0010 for B 0012... (5 Replies)
-Hi, I have a problem with parcing/spliting a file record into two parts and assigning the split parts to two viriables. The record is as follows:
ftrn facc ttrd feed xref fsdb fcp ruldb csdb omom fordr ftxn fodb fsdc texc oxox reng ttrn ttxn fqdb ... (5 Replies)
Hi ,
I have a requirement to split the record based on particular match using UNIX.
Case1:
Input Record :
10.44.48.63;"Personals/Dating;sports";1441
Output Records :
10.44.48.63;Personals/Dating;1441;Original
10.44.48.63;sports;1441;Dummy
Case2:
Input Record : ... (5 Replies)
Hi,
My inputfile contains field separaer is ^.
12^inms^
13^fakdks^ssk^s3
23^avsd^
13^fakdks^ssk^a4
I wanted to print only 2 delimiter occurence i.e
12^inms^
23^avsd^ (4 Replies)
Hi ,
I have file with all records in one line, which needs to split it to have a fixed length.Am trying to execute the below script for the same
FILENAME="$1"
while line LINE
do
echo $LINE | awk 'BEGIN{n=1}{while(substr($0,n,10)){print substr($0,n,10);n+=10}}'
done < $FILENAME
it... (4 Replies)
Hi,
Help required to split record value and write to new row.
Input
a~b~c~value in ('3','4','5')~test
output
a~b~c~3~test
a~b~c~4~test
a~b~c~5~test
input
a~b~c~value in ('3','4')~test
output
a~b~c~3~test
a~b~c~4~test (8 Replies)
Hi Friends,
source
....
col1,col2,col3
a,b,1;2;3
here colom delimeter is comma(,).
here we dont know what is the max length of col3 means now we have 1;2;3 next time i will receive 1;2;3;4;5;etc...
required output
..............
col1,col2,col3
a,b,1
a,b,2
a,b,3
please give me... (5 Replies)
Hi All,
Need help in writing a shell script for the below requirement:
i/p: 123456789
o/p:
123
456
789
Req: one record should be split into multiple based on the length ( after every third character it should be moved into next line)
Thanks in Advance (14 Replies)
Hi,
I have one tab delimited file which is having multiple store_ids in first column seprated by pipe.I want to split the file on the basis of store_id(separating 1st record in to 2 records ).
I tried some more options like below with using split,awk etc ,But not able to get proper output. can... (1 Reply)
Hi,
I have received a file which is 20 GB. We would like to split the file into 4 equal parts and process it to avoid memory issues.
If the record delimiter is unix new line, I could use split command either with option l or b.
The problem is that the line terminator is |##|
How to use... (5 Replies)
Discussion started by: Ravi.K
5 Replies
LEARN ABOUT POSIX
upscli_get
UPSCLI_GET(3) NUT Manual UPSCLI_GET(3)NAME
upscli_get - retrieve data from a UPS
SYNOPSIS
#include <upsclient.h>
int upscli_get(UPSCONN_t *ups, int numq, const char **query,
int *numa, char ***answer)
DESCRIPTION
The upscli_get() function takes the pointer ups to a UPSCONN_t state structure, and the pointer query to an array of numq query elements.
It builds a properly-formatted request from those elements and transmits it to upsd(8).
Upon success, the response will be split into separate components. A pointer to those components will be returned in answer. The number of
usable answer components will be returned in numa.
USES
This function implements the "GET" command in the protocol. As a result, you can use it to request many different things from the server.
Some examples are:
o GET NUMLOGINS <ups>
o GET UPSDESC <ups>
o GET VAR <ups> <var>
o GET TYPE <ups> <var>
o GET DESC <ups> <var>
o GET CMDDESC <ups> <cmd>
QUERY FORMATTING
To generate a request for GET NUMLOGINS su700, you would populate query and numq as follows:
int numq;
const char *query[2];
query[0] = "NUMLOGINS";
query[1] = "su700";
numq = 2;
All escaping of special characters and quoting of elements with spaces is handled for you inside this function.
ANSWER FORMATTING
The raw response from upsd to the above query would be NUMLOGINS su700 1. Since this is split up for you, the values work out like this:
numa = 3;
answer[0] = "NUMLOGINS"
answer[1] = "su700"
answer[2] = "1"
Notice that the value which you seek typically starts at answer[numq].
ERROR CHECKING
This function will check your query against the response from upsd(8). For example, if you send "VAR" "su700" "ups.status", it will expect
to see those at the beginning of the response.
If the results from upsd do not pass this case-insensitive test against your request, this function will return an error. When this
happens, upscli_upserror(3) will return UPSCLI_ERR_PROTOCOL.
ANSWER ARRAY LIFETIME
The pointers contained within the answer array are only valid until the next call to a upsclient function which references them. If you
need to use data from multiple calls, you must copy it somewhere else first.
The answer array and its elements may change locations, so you must not rely on previous addresses. You must only use the addresses which
were returned by the most recent call. You also must not attempt to use more than numa elements in answer. Such behavior is undefined, and
may yield bogus data or a crash.
The array will be deleted after calling upscli_disconnect(3). Any access after that point is also undefined.
RETURN VALUE
The upscli_get() function returns 0 on success, or -1 if an error occurs.
SEE ALSO upscli_list_start(3), upscli_list_next(3), upscli_strerror(3), upscli_upserror(3)Network UPS Tools 05/22/2012 UPSCLI_GET(3)