Issue with a file that contains CRLF


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue with a file that contains CRLF
# 1  
Old 11-19-2009
Issue with a file that contains CRLF

I have a nawk that reads in a log file and outputs a file that matches my search.

IFS=" "
while read record
do
`echo $record | nawk 'BEGIN {
FS=" "
}
{
type_record=substr($0, 1, 1);

if ( type_record == "-" )
printf ("%s" , $9) >>"filelist.dat";
else
printf ("\n");
}
'`

done < x.log
OFS=$IFS

the file that comes out of the nawk has carriage return on the end of the two lines:

nawk_output - filelist.dat

abc.csvOD
def.csvOD

i want to set the filenames in a variable i.e.

files_found=`cat x.dat`

the problem is that when i call the variable $files_found it shows as this:

abc.csvf.csv

I want it to show:

abc.csv
def.csv

Its the carriage return that is the problem but can any one help??
# 2  
Old 11-19-2009
You can use quotes to preserve the newline.

i.e.
Code:
echo "$files_found"

# 3  
Old 11-19-2009
thanks for the reply but even with double quotes i get:

abc.csvf.csv

????
# 4  
Old 11-19-2009
Try the following awk script :
Code:
awk -F '[ \r]*' '
/^-/ { print $9 }
' x.log > filelist.dat

Jean-Pierre.
# 5  
Old 11-19-2009
this code produced a syntax error

bailing out at line 1
# 6  
Old 11-19-2009
Works fine on my AIX box.
Try to replace awk by nawk or gawk.

Jean-Pierre.
# 7  
Old 11-19-2009
Hi Jean-Pierre,

replaced with nawk but got this output:

abc.csvdef.csv

I need them seperating, like below?

abc.csv
def.csv
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Views How to replace a CRLF char from a variable length file in the middle of a string in UNIX?

My sample file is variable length, with out any field delimiters. It has min of 18 chars length and the 'CRLF' is potentially between 12-14 chars. How do I replace this with a space? I still want to keep end of record, but just want to remove these new lines chars in the middle of the data. ... (7 Replies)
Discussion started by: chandrath
7 Replies

2. Shell Programming and Scripting

Replace CRLF between pipe (|) delimiter with LF

Hi Folks! Need a solution for the following :- Source data ------------- 123|123|<CRLF><CRLF><CRLF>|321<CRLF> Required output ------------------ 123|123|<LF><LF><LF>|321<CRLF> <CRLF> represents carriage return <LF> represents line feed Being hunting high and low for a... (10 Replies)
Discussion started by: hishamzz
10 Replies

3. Shell Programming and Scripting

Removing CRLF combo but not CR or LF when alone

What is the command or script to remove CRLF but only when joined? Tried using below but removed all instances of either cat a.txt | tr -d "\r\n" > b.txt (14 Replies)
Discussion started by: qqp
14 Replies

4. Shell Programming and Scripting

Sorting file with CRLF within field, RS=$

OK below is what my sample file looks like. I need to sort by the Primary Key ie: {1:F01SAESVAV0AXXX0466020126} in the first record. Record seperator is $. I tried sort, but it completely messes it up. I am thinking I will need to use something like awk which understands the record seperator... (6 Replies)
Discussion started by: alfredo123
6 Replies

5. Shell Programming and Scripting

Appending CRLF to end of record

I need to append |\r\n (a pipe character and CRLF) at end of each record in Unix to all records where they are not already present. So first check for the presence of |\r\n and if absent append it else do nothing (3 Replies)
Discussion started by: abhilashnair
3 Replies

6. Homework & Coursework Questions

Convert ASCII Text, with CRLF

1. The problem statement, all variables and given/known data: write a script asciiFix.sh that takes an arbitrary number of file paths from the command line and carries out the same analysis on each one. If a file is not Windows ASCII, your script should do nothing to it. For each file that is... (7 Replies)
Discussion started by: kwatt019
7 Replies

7. Web Development

CRLF to LF PHP

So I have this PHP script that takes info from HTML form and saves the info to a txt file. Here is the code <?php $input = $_POST; $dateposted = date("m-d-Y-His"); $fp = fopen("/some/location/public_html/sh/$dateposted.txt", "w"); fwrite($fp, $input.).'&nbsp;'; fclose($fp);... (16 Replies)
Discussion started by: GroveTuckey
16 Replies

8. Programming

how to add CRLF support for CSV file generated in unix

Helo, my server side system is running on a redhat linux o.s. I have c program on the server which export list file into CSV format. now, I want that my program on server side is able to add support for CRLF(carriage return Line feed)into csv file format. so how do i write C program whcih... (3 Replies)
Discussion started by: amitpansuria
3 Replies

9. Shell Programming and Scripting

Add CRLF is probably simple!

I am building a script that will execute programs using records/fields in a file as arguments. Before I start testing that, I am working on reading the file properly and using printf to display the fields in the file. I used typeset to format my output. Now all I need is to figure out how to... (1 Reply)
Discussion started by: Skyybugg
1 Replies
Login or Register to Ask a Question