01-06-2009
replacing spaces with null or 0 in the input file
hi
i have records in my input file like this
aaa|1234||2bc||rahul|tamilnadu
bba|2234||b4c||bajaj|tamilnadu
what i am expecting is in between two pipes if there is no character it should be replaced with null or 0
so my file will look like this
aaa|1234|null|2bc|0|rahul|tamilnadu
bba|2234|null|b4c|0|bajaj|tamilnadu
how to do it
can anyone explain
thanks in advance
10 More Discussions You Might Find Interesting
1. Solaris
Can anyone help me find and replace blank rows in a file with a numeric value (ie blankrow=someTxtOrNumValue), the file is over 500,000 rows long so it would need to be the quickest way as I'll need to do this for multiple files...I would be greatfull for any suggestions....thanks
sample file:... (2 Replies)
Discussion started by: Gerry405
2 Replies
2. Shell Programming and Scripting
Ok, so when a user inputs nothing, simply pressing enter when prompted for a phone number, I get a "./addrbkfct.sh: test: argument expected" error message. I have the following function:
addNumber(){
echo "Phone number: \c";
read number;
echo $number;
if ;... (2 Replies)
Discussion started by: DrRo183
2 Replies
3. Shell Programming and Scripting
hi all
this is the part i am facing a problem
eg data: filename : tr1
+ T 40
this is a sample record in that file ... the value of T can be anything, but will be a single character.
i need to cut from field two, and i am using this command
cut -d " " -f2 tr1 >tr3
and the o/p is ... (7 Replies)
Discussion started by: sais
7 Replies
4. Shell Programming and Scripting
Hi,
I have a ksh which peocess and get me data from 3 days...
ie if i process it on jan 28.. it gets data for 25, 26 and 27.... the process run every day and get previous 3 days data...all this data is appened to a file lets call time.out
Now time.out cannot have deplicate data so what i want... (10 Replies)
Discussion started by: bhagya2340
10 Replies
5. Shell Programming and Scripting
Hi, I am having a file and grabbed the contents of the field according to field widths. The command i used is:
awk 'BEGIN{FIELDWIDTHS="10 25 20 14 6 10"}{print$4,$5,$6}' newtext.text >test1.txt
i got the output for example:
val1 val2 val3
<blank> ... (3 Replies)
Discussion started by: rish_max
3 Replies
6. UNIX for Dummies Questions & Answers
Ok, I am brand new to UNIX and I am trying to learn a cross between basic script and database use. I had got some ideas off the net on simple ideas for learning UNIX. I am working on creating a simple phone book program that allows myself to enter our employees from work into a phone book text... (0 Replies)
Discussion started by: georgefurbee
0 Replies
7. Shell Programming and Scripting
this section of the awk code i have here takes file to work with from the user.
the user specifies the file name from the command line and the file name is assigned to the variable $FLIST
awk 'BEGIN {
while((getline < "'${FLIST}'")>0)
S
FS="\n"; RS="}\n"
}
now, i dont want... (5 Replies)
Discussion started by: SkySmart
5 Replies
8. Shell Programming and Scripting
Hi,
I'm having an issue trying to produce a hierarchical directory menu that has either any directories listed in a specific directory as options or options with spaces in the option content or null content.
So the menu function gets passed a base directory, it then lists any .sh scripts in... (6 Replies)
Discussion started by: andyatit
6 Replies
9. Shell Programming and Scripting
Greetings all
I have a delimited text file (the delimiter is ';') where certain fields consist of many blanks e.g. ; ; and ; ;
Before I separate the data I need to eliminate these blanks altogether.
I tried the sed command using the following syntax:
sed -i 's/; *;/;;/g' <filename>
... (15 Replies)
Discussion started by: S. BASU
15 Replies
10. Shell Programming and Scripting
Hi I want to read a text file and replace various number of spaces between each string in to a single "," or any other character .Please let me know the command to do so. My input file is a txt file which is the output of a SQL table extract so it contains so many spaces between each column of the... (2 Replies)
Discussion started by: Hari Prasanth
2 Replies
LEARN ABOUT LINUX
strfmon_l
STRFMON(3) Linux Programmer's Manual STRFMON(3)
NAME
strfmon, strfmon_l - convert monetary value to a string
SYNOPSIS
#include <monetary.h>
ssize_t strfmon(char *s, size_t max, const char *format,
...);
ssize_t strfmon_l(char *s, size_t max, locale_t locale,
const char *" format , ...);
DESCRIPTION
The strfmon() function formats the specified monetary amount according to the current locale and format specification format and places the
result in the character array s of size max.
The strfmon_l() function performs the same task, but uses the locale specified by locale. The behavior of strfmon_l() is undefined if
locale is the special locale object LC_GLOBAL_LOCALE (see duplocale(3)) or is not a valid locale object handle.
Ordinary characters in format are copied to s without conversion. Conversion specifiers are introduced by a '%' character. Immediately
following it there can be zero or more of the following flags:
=f The single-byte character f is used as the numeric fill character (to be used with a left precision, see below). When not speci-
fied, the space character is used.
^ Do not use any grouping characters that might be defined for the current locale. By default, grouping is enabled.
( or + The ( flag indicates that negative amounts should be enclosed between parentheses. The + flag indicates that signs should be han-
dled in the default way, that is, amounts are preceded by the locale's sign indication, for example, nothing for positive, "-" for
negative.
! Omit the currency symbol.
- Left justify all fields. The default is right justification.
Next, there may be a field width: a decimal digit string specifying a minimum field width in bytes. The default is 0. A result smaller
than this width is padded with spaces (on the left, unless the left-justify flag was given).
Next, there may be a left precision of the form "#" followed by a decimal digit string. If the number of digits left of the radix charac-
ter is smaller than this, the representation is padded on the left with the numeric fill character. Grouping characters are not counted in
this field width.
Next, there may be a right precision of the form "." followed by a decimal digit string. The amount being formatted is rounded to the
specified number of digits prior to formatting. The default is specified in the frac_digits and int_frac_digits items of the current
locale. If the right precision is 0, no radix character is printed. (The radix character here is determined by LC_MONETARY, and may dif-
fer from that specified by LC_NUMERIC.)
Finally, the conversion specification must be ended with a conversion character. The three conversion characters are
% (In this case, the entire specification must be exactly "%%".) Put a '%' character in the result string.
i One argument of type double is converted using the locale's international currency format.
n One argument of type double is converted using the locale's national currency format.
RETURN VALUE
The strfmon() function returns the number of characters placed in the array s, not including the terminating null byte, provided the
string, including the terminating null byte, fits. Otherwise, it sets errno to E2BIG, returns -1, and the contents of the array is unde-
fined.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+------------+---------------+----------------+
|Interface | Attribute | Value |
+------------+---------------+----------------+
|strfmon() | Thread safety | MT-Safe locale |
+------------+---------------+----------------+
|strfmon_l() | Thread safety | MT-Safe |
+------------+---------------+----------------+
CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
EXAMPLE
The call
strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]",
1234.567, 1234.567);
outputs
[EUR **1234,57] [EUR **1 234,57]
in the nl_NL locale. The de_DE, de_CH, en_AU, and en_GB locales yield
[ **1234,57 EUR] [ **1.234,57 EUR]
[ Fr. **1234.57] [ CHF **1'234.57]
[ $**1234.57] [ AUD**1,234.57]
[ L**1234.57] [ GBP**1,234.57]
SEE ALSO
duplocale(3), setlocale(3), sprintf(3), locale(7)
Linux 2017-09-15 STRFMON(3)