Sponsored Content
Full Discussion: Problem with a text file
Top Forums Shell Programming and Scripting Problem with a text file Post 302913381 by Don Cragun on Friday 15th of August 2014 09:35:18 PM
Old 08-15-2014
What you have does not fit the definition of a text file. A non-empty text file's last character is (by definition) a <newline> character. It is also strange that your shell prompt appeared at the start of the next line after the cat; for common settings of PS1, the prompt should have appeared immediately after the Qc7 1-0 at the end of the last line of output instead of being on the next line.

If you know that you have a file that is missing the terminating <newline> character an easy way to fix it is:
Code:
echo >> file

If you have files where you don't know if the file has its terminating <newline> or not, and only want to add a <newline> to files that do not have the required terminator, you could try something like:
Code:
#!/bin/ksh
f="samp.pgn"
if [ -f "$f" ] && [ -s "$f" ]
then	# file is a regular file with size greater than 0
	(	IFS=""; read -r last <<-EOF
			$(tail -c1 "$f")
		EOF
		# If the last character in the file is a <newline>, $last will
		# expand to an empty string.  Add a <newline> if one was not
		# present.
		[ "$last" != "" ] &&  echo >> "$f"
	)
fi

Note that this will not modify a file if it is not a regular file, is a regular file of size 0, and will not create a file if it doesn't exist.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

PERL: Searching for a string in a text file problem

Looking for a bit of help. I need to search for a string of words, but unfortunately these words are located on separate lines. for example the text output is: United Chanmpions Ronaldo Liverpool Losers Torres and my script code is print("DEBUG - checking file message"); while... (15 Replies)
Discussion started by: meevagh
15 Replies

2. UNIX for Dummies Questions & Answers

Problem working with Pipe Delimited Text file

Hello all: I have a following textfile data with name inst1.txt HDR|ABCD|10-13-2008 to 10-19-2008.txt|10-19-2008|XYZ DTL|H|5464-1|0|02-02-2008|02-03-2008||||F||||||||| DTL|D|5464-1|1|02-02-2008|02-03-2008|1||JJJ DTL|D|5464-1|2|02-02-2008|02-03-2008|1||JJJ... (9 Replies)
Discussion started by: ravi0435
9 Replies

3. Shell Programming and Scripting

Problem inserting text into file after specific line

this is utterly embarassing :( after posting here i revisited my files and found that when i used "vi" instead of a gui based editor, i suddenly found that the indentations were in fact wrong :( sorry about this :( (0 Replies)
Discussion started by: mocca
0 Replies

4. Shell Programming and Scripting

Format problem of text file

Folks pardon me for trivial question. After searching the entire forum i decided to post this question. I have a file with some numbers with commas like this 123,456,789 If i open this textfile with either notepad or wordpad they ae looking absolutely fine. When I open this with excel file... (13 Replies)
Discussion started by: repinementer
13 Replies

5. Shell Programming and Scripting

Please help. Complicated text file manipulation problem

Let me try my best to give you a picture of what I'm trying to do. Once again I'm sorry for the essay thats coming up. I programmed a rather large library of script functions to deal with input, displaying ANSI block graphics, playing sounds, and refining the terminal and so on. I also designed... (8 Replies)
Discussion started by: tinman47
8 Replies

6. Shell Programming and Scripting

Text file creation problem

Using KSH, I have one text file which just contains a list of distinct references on each line, e.g.; 123456789 987654321 15457544X 164450200 etc. The file will always be called "InputRefs.txt". The number of distinct refs will be different each time. For each line (distinct ref) I... (1 Reply)
Discussion started by: b.hamilton
1 Replies

7. UNIX Desktop Questions & Answers

Problem in sorting a text file

Hi; I have a text file like this: 1 10 11 2 3 4 M X Y When I sort it numerically using sort -n, it looks like this: Y X M 1 2 3 4 10 (3 Replies)
Discussion started by: a_bahreini
3 Replies

8. Shell Programming and Scripting

Format problem while converting text file to csv

Hi , I need a help in following scenario.I tried searching in google but couldn't able to find the exact answer. Sorry if i am re-posting already answered query. While i am trying to convert into log file into csv i couldn't able to get the format which i am looking for. I converted file... (4 Replies)
Discussion started by: varmas424
4 Replies

9. Shell Programming and Scripting

Problem with while loop reading every line of a text file

Hello, I'm using RHEL 5.1 with bash. How to handle "read" inside while loop reading every line? Please see below: # cat /tmp/passwd_sample CARRJ12:qVSn4ja4mFA72,..:20021:125:JULIAN CARR:/home/everyone:/bin/bash HERCOT01:NK/3j2ZB4ZC7Q:20022:125:TOM HERCOCK:/home/everyone:/bin/bash... (4 Replies)
Discussion started by: reddyr
4 Replies

10. Shell Programming and Scripting

Match text to lines in a file, iterate backwards until text or text substring matches, print to file

hi all, trying this using shell/bash with sed/awk/grep I have two files, one containing one column, the other containing multiple columns (comma delimited). file1.txt abc12345 def12345 ghi54321 ... file2.txt abc1,text1,texta abc,text2,textb def123,text3,textc gh,text4,textd... (6 Replies)
Discussion started by: shogun1970
6 Replies
POSTLOG(1)						      General Commands Manual							POSTLOG(1)

NAME
postlog - Postfix-compatible logging utility SYNOPSIS
postlog [-iv] [-c config_dir] [-p priority] [-t tag] [text...] DESCRIPTION
The postlog command implements a Postfix-compatible logging interface for use in, for example, shell scripts. By default, postlog logs the text given on the command line as one record. If no text is specified on the command line, postlog reads from standard input and logs each input line as one record. Logging is sent to syslogd(8); when the standard error stream is connected to a terminal, logging is sent there as well. The following options are implemented: -c config_dir Read the main.cf configuration file in the named directory instead of the default configuration directory. -i Include the process ID in the logging tag. -p priority Specifies the logging severity: info (default), warn, error, fatal, or panic. -t tag Specifies the logging tag, that is, the identifying name that appears at the beginning of each logging record. -v Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose. SEE ALSO
syslogd(8) syslog daemon. LICENSE
The Secure Mailer license must be distributed with this software. AUTHOR(S) Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA POSTLOG(1)
All times are GMT -4. The time now is 04:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy