Sponsored Content
Top Forums Shell Programming and Scripting Delimited data contains line feeds where they shouldn't be Post 302507887 by cgkmal on Friday 25th of March 2011 04:17:21 AM
Old 03-25-2011
Quote:
Originally Posted by dinjo_jo
Is this hardcoded logic as this does not seems to be working
Modifying a little bit rdcwayx idea:
Code:
echo "  1|short desc|long text|2001-01-01 01:01
   2|short desc| long
   text |2002-02-02 02:02
   3|short desc|  long  text  | 2003-03-03 03:03
   4|short desc
   |  long  text    | 2004-04-04 04:04 "  | awk '
{$1=$1;l=sprintf(/ *[0-9]+\|/?" "RS:FS) $0;printf gensub(/[ \t]+$|[ \t]+?(\|)[ \t]+?/,"\\1","g",l)}' 
 
1|short desc|long text|2001-01-01 01:01 
2|short desc|long text|2002-02-02 02:02 
3|short desc|long text|2003-03-03 03:03 
4|short desc|long text|2004-04-04 04:04

Regards
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

carriage return/line feeds

Hello, I have a file that has got carriage returns in it and I want to take them out. Anyone know how I can do this in a ksh? thanks (4 Replies)
Discussion started by: pitstop
4 Replies

2. Shell Programming and Scripting

Remove line feeds

Hi, I have a fixed width flat file which has 1 as the first char and E as the last character. Some of the records have a carriage return /line feeds . how do I remove them? Let me know. Thanks VSK (8 Replies)
Discussion started by: vsk
8 Replies

3. Shell Programming and Scripting

line feeds in csv

:confused: hi all, i have csv file with three comma separated columns i/p file First_Name, Address, Last_Name XXX, "456 New albany \n newyork, Unitedstates \n 45322-33", YYY\n ZZZ, "654 rifle park \n toronto, canada \n 43L-w3b", RRR\n is there any way i can remove \n (newline) from... (10 Replies)
Discussion started by: gowrish
10 Replies

4. Shell Programming and Scripting

Spurious line feeds

Hi all, I know this is **awfully** general but..... I have a script which does, basically... for file in `find command`; do some stuff more stuff echo '.\c' done I want to output the '.' char just to give an idea of progress. However, it works fine for a while and then I... (2 Replies)
Discussion started by: ajcannon
2 Replies

5. Shell Programming and Scripting

supressing carrige returns/line feeds

Hi gurus I am stripping lots of email addresses from a file with this grep "^To" file.log |awk '{print "1,"$2}' > recipients.out file.log looks something like this: oasndfoasnosf To: person@email.co.uk lsdfjosd sdlfnmsopdfwer dtlghodrgn To: person2@emailsss.com sldfnsdf I... (5 Replies)
Discussion started by: terry2009
5 Replies

6. UNIX for Dummies Questions & Answers

.properties file and new line feeds

Hi, I have a .properties file that a read in some values in an .sh file but everytime I put it out on the server it fails. If I copy and paste the values of the .properties file on my local machine to the .properties file on the server it works just fine. Someone mentioned to see if it has dos... (3 Replies)
Discussion started by: vsekvsek
3 Replies

7. Shell Programming and Scripting

remove line feeds followed by character

Hi everyone, I'm very new to using sed, run through some tutorials and everything but I've hit a problem that I'm unable to solve by myself. I need to remove all linefeeds that are followed by a particular character (in this case a semicolon). So basically, all lines starting with a semicolon... (5 Replies)
Discussion started by: fluffdasheep
5 Replies

8. Shell Programming and Scripting

useless line feeds in ldapsearch output. Howto remove with shell script?

Hi $ cat ad.sh ldapsearorg -x -LLL -h sb1131z.testbadbigcorp.org -D "CN=ADMINZZ,OU=AdminRoles,DC=testbadbigcorp,DC=org" -w "UT3w4f57lll--4...4" -b "OU=Test,DC=testbadbigcorp,DC=org" "(&(&(&(&(objectCategory=person)(objectClass=user)(lockoutTime:1.2.840.113556.1.4.804:=4294967295)))))" dn$... (3 Replies)
Discussion started by: slashdotweenie
3 Replies

9. Shell Programming and Scripting

Removing carriage return/line feeds on multiple lines

I would like to remove carriage returns/line feeds in a text file, but in a specific cadence: Read first line (Header Line 1), remove cr/lf at the end (replace it with a space ideally); Read the next line (Line of Text 2), leave the cr/lf intact; Read the next line, remove the cr/lf; Read... (14 Replies)
Discussion started by: tomr2012
14 Replies

10. Shell Programming and Scripting

How to remove new line characters from data rows in a Pipe delimited file?

I have a file as below Emp1|FirstName|MiddleName|LastName|Address|Pincode|PhoneNumber 1234|FirstName1|MiddleName2|LastName3| Add1 || ADD2|123|000000000 2345|FirstName2|MiddleName3|LastName4| Add1 || ADD2| 234|000000000 OUTPUT : ... (1 Reply)
Discussion started by: styris
1 Replies
STRSUFTOLL(3)						   BSD Library Functions Manual 					     STRSUFTOLL(3)

NAME
strsuftoll, strsuftollx -- convert a string to a long long, with suffix parsing LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> long long strsuftoll(const char *desc, const char *val, long long min, long long max); long long strsuftollx(const char *desc, const char *val, long long min, long long max, char *errbuf, size_t errbuflen); DESCRIPTION
The functions strsuftoll() and strsuftollx() convert val into a number of type long long, checking that the result is not smaller than min or larger than max. Two or more decimal numbers may be separated by an ``x'' to indicate a product. Each decimal number may have one of the following optional suffixes: b Block; multiply by 512 k Kibi; multiply by 1024 (1 KiB) m Mebi; multiply by 1048576 (1 MiB) g Gibi; multiply by 1073741824 (1 GiB) t Tebi; multiply by 1099511627776 (1 TiB) w Word; multiply by the number of bytes in an integer In the case of an error (range overflow or an invalid number), strsuftollx() places an error message into errbuf (which is errbuflen bytes long) and returns 0, and strsuftoll() displays that error and terminates the process. The parameter desc is used to construct errbuf. Neither desc nor val may be NULL. RETURN VALUES
The functions strsuftoll() and strsuftollx() return either the result of the conversion, unless the value overflows or is not a number; in the latter case, strsuftoll() displays an error message and terminates the process with exit code EXIT_FAILURE, and strsuftollx() returns with 0 and errbuf contains a non-empty error message. ERRORS
[ERANGE] The given string was out of range; the value converted has been clamped. SEE ALSO
errx(3), strtoll(3), orders(7) BUGS
At least few limitations should be mentioned: o Both functions ignore the current locale. o Neither strsuftoll() nor strsuftollx() fail gracefully in case of invalid, NULL, pointers. o Arguably the return type should be intmax_t instead of long long. o The strsuftollx() function is prone to buffer overflows if used incorrectly. Arguably only strsuftoll() should be exposed to a caller. BSD
December 14, 2010 BSD
All times are GMT -4. The time now is 08:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy