Sponsored Content
Full Discussion: UNIX file with Newlines
Top Forums Shell Programming and Scripting UNIX file with Newlines Post 303031443 by bakunin on Thursday 28th of February 2019 10:04:02 AM
Old 02-28-2019
Quote:
Originally Posted by victory
I tried using the command

Code:
tr -d '\n' filename

sed 's/\n//g' file name

I suppose "file name" should read "filename", otherwise these would be two filenames without quoting, but otherwise both these should work as expected. If they don't (btw: telling us "does not work" is not enough, SHOW us HOW it doesn't work, i.e. by copying a terminal session) you may investigate one of these:

- Windows files
Maybe your line endings are not what they seem to be. If your files originate in Windows/DOS this is likely to be the case. Use od -ax file to verify.

- output neglected?
sed puts it output not into the file but to <stdout>. If you do not redirect it into a new file and move that over the old one your changes will be lost. i.e.:

Code:
sed 's/\n//g' file > file.new
mv file.new file

To think of other issues you will have to tell us a bit more about your environment: shell? OS-version?

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing inserted newlines from a fileld of fixed width file.

Hi champs! I have a fixed width file in which the records appear like this 11111 <fixed spaces such as 6> description for 11111 <fixed spaces such as 6> some more field to the record of 11111 22222 <fixed spaces such as 6> description for 22222 <fixed spaces such as 6> some more field to the... (8 Replies)
Discussion started by: enigma_1
8 Replies

2. Shell Programming and Scripting

Transpose with two newlines as delimiter

Hi Guys, I have data in a file as follows: a 1 2 3 b 4 5 6 a 6 7 8 a 4 7 9 b 6 8 5 c 0 8 7 So the number of rows which have data is variable (2 for the first group, one for the second group and three for the third group), but the delimiters between the... (10 Replies)
Discussion started by: npatwardhan
10 Replies

3. Shell Programming and Scripting

Padding lines in a file with newlines

Hi Guys, I have a file as shown below: 55 6 77 8 88 98 7 85 45 544 1 33 32 13 13 (5 Replies)
Discussion started by: npatwardhan
5 Replies

4. UNIX for Dummies Questions & Answers

finding string in very long file without newlines

What's the best way to find a string in a very long file without newlines in Unix? The standard utility I'm aware of for finding a string in a single file is grep, but for a long file without newlines, I think the output is just going to be the input. I suppose I could use sed to replace the... (5 Replies)
Discussion started by: aaronpoley
5 Replies

5. Shell Programming and Scripting

'for LINE in $(cat file)' breaking at spaces, not just newlines

Hello. I'm making a (hopefully) simple shell script xml parser that outputs a file I can grep for information. I am writing it because I have yet to find a command line utility that can do this. If you know of one, please just stop now and tell me about it. Even better would be one I can input... (10 Replies)
Discussion started by: natedawg1013
10 Replies

6. Shell Programming and Scripting

Extract pattern before two newlines

Hi All, My file looks like this: 1 2 3 3 4 5 6 7 8 8 7 6 3 4 5 3 6 7 3 4 5 1 2 4 3 4 6 2 4 6 As you can see there are two newlines after the next pattern of numbers begin. (4 Replies)
Discussion started by: shoaibjameel123
4 Replies

7. Shell Programming and Scripting

removing newlines after a certain word.

Hello! This is my first post here. I have a file with text like: A</title> B C</title> D I need to format it to: AB CD I am trying to use sed: sed 's/<//title>\n/ /g' file > newfile to delete </title> and the newline character, but the file is unchanged because there are... (3 Replies)
Discussion started by: DaytonCPS
3 Replies

8. UNIX for Dummies Questions & Answers

Remove newlines

Hi buddy's my file are like this: s.no,name,band,sal 1,"suneel",,10 2,"bargav sand",,20 30," ebdug gil",,4 but i want s.no,name,band,sal 1,"suneel",,10 2,"bargav sand",,20 30,"ebdug gil",,4 any command or Shell script for this. please help me it's urgent to implement (33 Replies)
Discussion started by: Suneelbabu.etl
33 Replies

9. UNIX for Beginners Questions & Answers

Remove newlines and carriage return from a csv file using UNIX

I need to remove new lines and carriage returns from csv file. Is there anything other than sed and gwak by which we could achieve this ? Any suggestions ? (3 Replies)
Discussion started by: A_Gaddale
3 Replies

10. Shell Programming and Scripting

File formatting with newlines

Hi All - I am in need of some help in formating the below file Requirement - 1) replace newlines with space 2) replace '#~# ' with newline ----------------------- sample inputfile a I|abc|abc|aaa#~# I|sddddd|tya|dfg sfd ssss#~# I|tya1|tya2|dfg|sfd|aaa#~#... (5 Replies)
Discussion started by: J1nx007
5 Replies
TRS(1)								Linux User's Manual							    TRS(1)

NAME
trs - filter replacing strings SYNOPSIS
trs [-[r]e] 'REPLACE_THIS WITH_THAT [AND_THIS WITH_THAT]...' trs [-[r]f] FILE DESCRIPTION
Copy stdin to stdout replacing every occurence of given strings with other ones. This is similar to tr(1), but replaces strings, not only single chars. Rules (separated by whitespace) can be given directly after -e option, or can be read from FILE. Argument not preceded by -e or -f is guessed to be a script when it contains some whitespace, or a filename otherwise. Comments are allowed from # until the end of line. The character # in strings must be specified as #. Standard C-like escapes a  e f v \ nn are recognized. In addition, s means a space character and ! means an empty string. Sets of acceptable characters at a given position can be specified between [ and ]. ASCII ranges in sets can be shortly written as FIRST-LAST. When a set consists of only a single range, [ and ] can be omitted. When a part of the string to translate is enclosed in {...}, only that part is replaced. Any text outside {...} serves as an assertion: a string is translated only if it is preceded by the given text and followed by another one. { at the beginning or } at the end of the string can be omitted. Text outside {...} is treated as untranslated. Before the beginning of the file and after its end there are only 's. Thus, for example, {.} matches . on a line by itself, including the first line, and the last one even without the marker. A fragment of the form ?x=N, where x is a letter A-Za-z and N is a digit 0-9, contained in the target text sets the variable x to the value N when that rule succeeds. Similar fragment in the source text causes the given rule to be considered only if that variable has such value. Initially all variables have the value of 0. Several assignments or conditions can be present in one rule - they are ANDed together. OPTIONS -e Give the translation rules directly in the command line. -f Get them from the file specified. -r Reverse every rule. This affects only the next -e or -f option. Of course this doesn't have to give the reverse translation! Any rule containing any of {}[]{}- is taken in only one direction. You may force any rule to be taken in only one direction by enclosing the string to translate in {...}. --help display help and exit --version output version information and exit Multiple -e or -f options are allowed. All rules are loaded together then, and earlier ones have precedence. EXAMPLE
$ echo Leeloo |trs -e 'el n e i i aqq o} x o u' Linux DIFFERENCES FROM sed The main difference between trs and sed 's///g; ...' (excluding sed's regular expressions) is that sed takes every rule in the order speci- fied and applies it to the whole line of translated file, whereas trs examines every position and tries all rules in this place first. In sed every next rule is fed with the text produced by the previous one, whereas in trs every piece of text can be translated at most once (if more than one rule matches at a given position, the one mentioned earlier wins). That's why sed isn't well suited for translating between character sets. On the other hand, tr translates only single bytes, so it can't be used for Unicode conversions, or TeX / SGML ways for specifying extended characters. Another example: $ echo 642 |trs -e '4 7 72 66 64 4' 42 $ echo 642 |sed 's/4/7/g; s/72/66/g; s/64/4/g' 666 The string to replace can be empty; there must be something outside {} then. In this special case only one such create-from-nothing rule can success at a given position. For example, }x80-xFF @ precedes every character with high byte set with @. The rule of the form some{ thing doesn't work at the end of a file. SEE ALSO
tr(1), konwert(1) COPYRIGHT
trs is a filter replacing strings. It forms part of the konwert package. Copyright (c) 1998 Marcin 'Qrczak' Kowalczyk This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA AUTHOR
__("< Marcin Kowalczyk * qrczak@knm.org.pl http://qrczak.home.ml.org/ \__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++ ^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y- Konwert 12 Jul 1998 TRS(1)
All times are GMT -4. The time now is 07:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy