10-16-2018
Quote:
Originally Posted by
Don Cragun
Neither awk nor sed have defined behavior according to the standards if the file being processed is not a text file. If an input file contains any characters and the last character in the file is not a <newline> character, that input file is not a text file. (So the code Scrutinizer suggested also depends on GNU extensions to awk that are not portable and not required by the standards.)
[..]
Hi Don, I see where you are going, I may have read the question wrong, I interpreted it as "add a carriage return is it is missing at the end of a line (which ends in linefeed)". So for that, my suggestion does not use extensions - GNU or otherwise - to the standard. I did not mean to also correct a missing newline at the end of the file.
It may be good to note that even though the latter case is not defined by the standards, every implementation of
awk on every OS I know does read the unterminated last line and adds the newline at the end of the file, so IMO this behavior cannot be labeled as a GNU extension.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
Hello I'm trying to write a shell script which can remove a carriage return and/or line feed from a file, so the resulting file all ends up on one line.
So, I begin with a file like this
text in file!<CR>
line two!<CR>
line three!<CR>
END!<CR>
And I want to end up with a file... (1 Reply)
Discussion started by: tbone231
1 Replies
3. Shell Programming and Scripting
I am doing some edi where translations had to be run on unix. Generally when I run the translations on windows, the output file has both carriage returns and line feed where as when ran on unix will have only line feed. I need to insert carriage return before the line feed. Is there some tool... (2 Replies)
Discussion started by: huey ing
2 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I have a situation where I need to remove the carriage return between the lines.
For.eg.
The input file:
1,ad,"adc
sdfd",edf
2,asd,"def
fde",asd
The output file should be
1,ad,adc sdfd,edf
2,asd,def fde,asd
Thanks
Shash (5 Replies)
Discussion started by: shash
5 Replies
5. Shell Programming and Scripting
I want to instert Category:XXXXX into the 2. line
something like this should work, but I have somewhere the wrong sytanx. something with the linebreak goes wrong:
sed "2i\\${n}Category:$cat\n"
Sample:
Titel Blahh Blahh abllk sdhsd sjdhf
Blahh Blah Blahh
Blahh
Should look like... (2 Replies)
Discussion started by: lowmaster
2 Replies
6. Programming
I keep running into the same problem with the following script. Every time it prints the carrage (line feed) char when I test. I believe that the issue is in the group by but I do not see it. The code is as follows.
SET FEED OFF
SET ECHO OFF
SET HEADING OFF
SET LINESIZE 1000
SET PAGESIZE... (1 Reply)
Discussion started by: sherrod6970
1 Replies
7. Shell Programming and Scripting
Hi
I am using sed command to make SCORE=somevalue to SCORE=blank in a file.
Please see the attached lastline.txt file. After executing the below command on the file, it removes the last line.
cat lastline.txt | sed 's/SCORE=.*$/SCORE=/g' > newfile.txt
Why does sed command remove the... (3 Replies)
Discussion started by: ashok.k
3 Replies
8. Shell Programming and Scripting
Hi,
need your help in below,I have 4 types of file need to be processed so that it will replace carriage return in Remarks column with <:::>
Remarks column position may varies in different types of file.
sample file:
col1|col2|col3|col4|col5|col6|col7|Remarks|col9|col10... (8 Replies)
Discussion started by: agathaeleanor
8 Replies
9. Shell Programming and Scripting
Hi,
I would like to insert the line carriage retrun characters on each line. (2 Replies)
Discussion started by: koti_rama
2 Replies
10. Shell Programming and Scripting
Hi Forum.
I'm running the following awk command to extract the suffix value (pos 38) from the "AM00" record and append to the end of the "AM01" record.
awk 'substr($0,13,4)=="AM00" {SUFFIX = substr($0,38,2)} substr($0,13,4)=="AM01" {$0 = $0 SUFFIX} 1' before.txt > after.txt
Before.txt:... (2 Replies)
Discussion started by: pchang
2 Replies
asa(1) General Commands Manual asa(1)
NAME
asa - Interprets carriage-control characters
SYNOPSIS
asa [file...]
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
asa: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
None
OPERANDS
The pathname of a file to be read. If this parameter is omitted, standard input is read.
DESCRIPTION
The asa command writes its input files to standard output, mapping carriage-control characters from the text files to line-printer control
sequences.
The first character of every input line is removed and, depending on the character removed, an action performed on that character and the
rest of the line. If the character removed is: The rest of the line is output without change. A newline character is output, followed by
the rest of the input line. A form-feed character is output, followed by the rest of the input line. The newline character of the previ-
ous line is replaced with a carriage-return character, which is output, followed by the rest of the input line. If + is the first character
in the input, + has the same effect as the space character. [Tru64 UNIX] The character is output, followed by the rest of the input line.
EXIT STATUS
The following exit values are returned: Successful completion. An error occurred.
EXAMPLES
To view a file (created by a program using FORTRAN-style carriage control characters) on a terminal: asa file To format the FORTRAN output
of a.out and direct it to the printer: a.out | asa | lp
ENVIRONMENT VARIABLES
The following environment variables affect the execution of asa: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments and input files). Determines the
locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
SEE ALSO
Commands: lp(1)
Standards: standards(5)
asa(1)