General :: Where Did The Trailing Newline Characters Go
Aug 11, 2011
I am working with bash scripting and running into a weird issue where the trailing newline characters are being truncated.The file contents are something like:
Code:
# Catting the file shows the trailing
characters
cat /tmp/junk
first line
second line
[Code]...
Since I am working with config files, some of the applications/daemons fail to start if they fail to find trailing newline characters
I have several (vhdl) files containing a pattern with newline characters that I need to replace by another pattern that also contains newline characters.
I start with something like:
Code:
I want to replace it by something like:
Code:
(I need to paste some lines)
As I need to do this (very) often I want to use a shell script.
While modifying the definition of my PS1, I saw that "[" and "]" markers should be added to help bash to compute the right display lenght. Many exemples on the web do not use them or even mention them.I searched for a solution to add them automatically, like with sed, but I didn't find any example.Are they still needed and is there a recommandation not to use sed to define PS1?
I've been playing around with sed but can't find a way to remove the <br> html tag and replace it with a newline. Sed isn't truly needed awk or other suggestions could be good.
Concatenating two files without creating a newline between them? So how is it possible to do that? I've tried the following: Code: echo 123 > file1 echo 456 > file2 cat file2 file2 > file3
I have bash script which has lots of echo statements and also I aliased echo to echo -e both in .bash_profile and .bashrc, so that new lines are printed properly for a statement like echo 'Hello World' the output should be I even tried using shopt -s expand_aliases in the script, I am running my script as bash /scripts/scriptnm.sh; if I run it as . /scripts/scriptnm.sh I am getting the desired output.
I have a dell mini 10v with ubuntu. I have been trying reapteadly to try to get the ubutnu version of mana world on my laptop but it always says its missing a newline. Because i download the game from my synapic manager and it says its missing final newline.
the preceding and trailing spaces around the commas in my CSV without destroying my address field. I'm new to regex and sed so this is probably easy but I just can't do it without destroying the Address section. I'm using vanilla Linux and sed 4.1.3I'm willing to use any regex or even awk if needed.
Example: I need this randall , dean, 11111 , 1309 Hillside Ave., Warsaw, VA , 23591
Anyone know what the extra . (dot) in the permissions field is in the output of ls -la in FC11? A permissions field is normally 10 bytes, whats with the dot, a man an info on ls caused nothing obvious to jump out at me. A eleven byte perm field now with a trailing dot insead of the normal ten byte field
[root@osprey mark]# uname -a Linux osprey 2.6.29.5-191.fc11.i686.PAE #1 SMP Tue Jun 16 23:19:53 EDT 2009 i686 i686 i386 GNU/Linux [root@osprey mark]# ls -la / total 110 drwxr-xr-x. 23 root root 4096 2009-07-17 20:56 . drwxr-xr-x. 23 root root 4096 2009-07-17 20:56 .. -rw-r--r--. 1 root root 0 2009-07-17 20:56 .autofsck
I have a back-end server behind a proxy machine. I would like non-SSL requests to the proxy to be rewritten into HTTPS requests to the back-end server, while not screwing up URLs with missing or misplaced trailing URL slashes. So far, on the proxy side, I have this in a virtual host for port 80:
But adding anything else to the URL fails, as the back-end server name gets stuck into the proxied [URL]... The rewrite log seems okay, I think. So I guess this is failing at the reverse proxy rule? Where am I going wrong?
I followed this tutorial to setup a mail server, followed it to the letter, double/triple/quadruple checked everything for human error, and I can't find anything.[URL].. What's happening is it seems that postfix is adding a trailing slash to usernames when it does the user lookup, so they don't exist and then fail. I've attached the log below.
Code: May 11 01:06:27 vmail postfix/smtpd[1688]: connect from localhost[127.0.0.1] May 11 01:06:55 vmail postfix/smtpd[1688]: 3372E982BC: client=localhost[127.0.0.1] May 11 01:07:18 vmail postfix/cleanup[1691]: 3372E982BC: message-
I prefer to delete trailing slahes from pathes. Until now I used sed:
Code: $ myPath=/home/ladygaga/// $ echo "$myPath" | sed 's//*$//' /home/ladygaga I played around to accomplish the same with on-board means of bash without using sed, but for example this line only deletes one trailing slash: Code: $ myPath=/home/ladygaga/// $ echo ${myPath%/*} /home/ladygaga// Is there a way to delete trailing slahes with just on-board means of bash?
What command could I use in terminal to delete all ASCII characters? That is, delete a-z, A-Z, 0-9, and all punctuation? I have a file containing Chinese characters, and I want to remove everything else and leave just the Chinese.
I can use grep to leave only the lines that have Chinese in them, but this still leaves a lot of non-Chinese stuff on those lines. Does anyone know how I could actually remove everything that isn't Chinese?
I have my OpenSuse 11.1 box set up with utf-8, however, every time I try to open a file with utf-8 characters with vi it can't handle those characters properly.
I've noticed when I create a generic textfile in vim and have a trailing newline at the end of the file, when I open it with kate it has 2 new lines at the end of the file instead! This is on a fedora machine. The same behavior is observed when I copy the file over to my windows machine and open it in notepad++ (which is able to handle both unix and dos newlines) - 2 newlines instead of 1.
Feeling curious, I tried creating a textfile in vim on my ubuntu machine and used gedit to open it, but surprisingly gedit displayed it correctly - only 1 newline.
I'm writing a script to replace some text that exists in about 50 .lex, .y, and .cc source code files, sometimes more than once in a file. Sometimes the text is in a multiline C comment, and other times it's within a multiline C string.
I use sed to grab the start and end of each line and wrap the new text in the old whitespace and/or quotes and Problem is, sed is changing the characters into a newline.
Is there a way to tell sed to not process escape sequences? I tried using several variations of
Code:
To no avail. Or could it be bash?
I would give up on the script and do it by hand, but this is something that I must do from time to time.
Here's the function which replaces the first occurrence found:
Code:
When $post is printed by echo, it shows the - but by the time the file is on disk, it becomes a newline. What should I do to ensure that it stays as the characters ?
I want to create an alias or function that when used prints something like this on the command line so I can further modify it before pressing enter myself.
Code: $ FILE=exercise1; cc -o $FILE $FILE.c && ./$FILE; FILE= The idea is that I'm studying c and want to change the name of the file once instead of
On SUSE 11.2 when a CD or DVD is automounted (in the /media directory) it appears that the mount point chosen for the disk always has extra blanks at the end of the mount.
For example, if the label on the CD was DISK-001, the mount point chosen by SUSE is
/media/DISK-001 /
In 11.1 (and earlier) the mount point would have been
/media/DISK-001/
I'm assuming that the trailing blanks are filling in unused or blank chars at the end of the CD label.
Is there any way to change this annoying behavior? I much prefer NOT to have trailing blanks in the mount point.
I can't get x to work with a mouse so I have to use a windows computer to do that from for now. The problem is I remember there being something about windows using a newline AND carriage return and linux just using a newline. I was about to cut and paste code but the lines go on and on instead of breaking off where they did in linux. I was going to write a perl script but don't know how to add a carriage return to the end of each line.
Using xsel I pass a selection into a variable. I then check that the variable includes an embedded newline to be sure that the selection returned by xsel is complete. If the selection content preceding the newline is just a single word, the check fails to detect the newline, thus
I often use VNC to connect to my desktop upstairs using a laptop downstairs over my home network. I tunnel the VNC connection via SSH. The problem I keep running into is that I'll attempt to type a ! or a : or even a captial A and it will come across the wire as a 1, ;, or a respectively. Is this something I can fix? It's really REALLY annoying while one is programming to have to pop open character map and find a colon and copy/paste it in each time. Running Ubuntu 10.04 upstairs, Linux Mint 10 downstairs.
Why do I get an error when trying to do a simple install command?I'm trying to install VMware player 3.1.0 on Ubuntu 9.10 After logging in to the terminal and changing directory to the folder containing the VM player bundle file, I used the following command:
sudo sh VMware-Player-3.1.0-261024.i386.bundle
It then prompts me for the password:
[sudo] password for administrator:
After entering the password it then returns the error:
any tips from you guys on how to filter my awk output?I want to exclude last 5 characters using awk in my tcpdump result.I don't want to include ".443:" in my tcpdump using awk.
We have a list of cyclones in the world. Now i got to check whether or not the second field is more than 1000 mm. If so, than the line has to have a[*] at the end of the line. For exemple:
Australia:1411:55.55:Mackay Cyclone 1918:1918:Mackay to Australia:1411:55.55:Mackay Cyclone 1918:1918:Mackay[*]
I also have to use a substitute. So far i've got this but it fails, 6,$s/([0-9])111:1/.* [*]