12-20-2011
Sed/awk to delete single lines that aren't touching other lines
Hello,
I'm trying to figure out how to use sed or awk to delete single lines in a file. By single, I mean lines that are not touching any other lines (just one line with white space above and below).
Example:
one
two
three
four
five
six
seven
eight
I want it to look like:
one
two
three
four
six
seven
Where "five" and "eight" were deleted because they were single lines. Any ideas?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have been reading through the sed one liners, trying to understand what is happening.
# delete the last 2 lines of a file
sed 'N;$!P;$!D;$d'
The above will delete the last 2 line of a file. I tried analyzing what happens. And I got lost :(
This is what I understood so far from the... (2 Replies)
Discussion started by: vino
2 Replies
2. Shell Programming and Scripting
First of all, I know this can be more eassily done with perl or other scripting languages but, that's not the issue. I need this in sed. (or wander if it's possible )
I got a file (trace file to recreate the control file from oracle for the dba boys)
which contains
some lines
another line... (11 Replies)
Discussion started by: plelie2
11 Replies
3. Shell Programming and Scripting
Hi,
I'm very new to Sed and I have a very large file that contains data in the following way
(*064) 1 4 10
(*064) simulation time = 0.12000E-05
(*064) 1 2 10
(*064) 1 3 10Essentially what I want to do it delete every line that starts with
'(*064) 1'I tried the following,
... (2 Replies)
Discussion started by: lost.identity
2 Replies
4. Shell Programming and Scripting
<VirtualHost 192.168.1.158:80>
DocumentRoot /home/ten
ServerName ten.com
</VirtualHost>
<VirtualHost 192.168.1.158:80>
DocumentRoot /home/sachin
ServerName sachin.com
</VirtualHost>
<VirtualHost 192.168.1.158:80>
DocumentRoot /home/yuvraj
ServerName yuvraj.com... (5 Replies)
Discussion started by: tkmmelvin
5 Replies
5. Shell Programming and Scripting
Hi,
I would like to delete lines in /etc/hosts on few workstations, basically I want to delete all the lines for a list of machines like this :
for HOST in $(cat stations.lst |uniq)
do
# echo -n "$HOST"
if ping -c 1 $HOST > /dev/null 2>&1
then
HOSTNAME_val=`rsh $HOST "sed... (3 Replies)
Discussion started by: albator1932
3 Replies
6. Shell Programming and Scripting
Sample file:
This is line one,
this is another line,
this is the PRIMARY INDEX line
l ;
This is another line
The command should find the line with “PRIMARY INDEX” and remove the last character from the line preceding it (in this case , comma) and remove the first character from the line... (5 Replies)
Discussion started by: KC_Rules
5 Replies
7. Shell Programming and Scripting
Hi
I need to delete lines from a file which are after pattern1 and between pattern 2 and patter3, as below:
aaaaaaaa
bbbbbbbb
pattern1
cdededed
ddededed
pattern2
fefefefe <-----Delete this line
efefefef <-----Delete this line
pattern3
adsffdsd
huaserew
Please can you suggest... (6 Replies)
Discussion started by: vk2012
6 Replies
8. Shell Programming and Scripting
Hi friends,
This is sed & awk type question.
I have a text file which has numbers spread all over the file. I want to sum the series of numbers whenever i find it and produce an output file with the sum. For example
###start of input text file ####
abc
def
ghi
1
2
3
4
kjld
random... (3 Replies)
Discussion started by: kaaliakahn
3 Replies
9. Shell Programming and Scripting
Hi Members,
This is my first post in this forum.
I want to do is match form feed lines one by one in a file and delete the next n lines (ex-3 lines) with the form feed character
Eg - Files looks like
Data 1
Data 2
Data 3
FF
Hdr1
Hdr2
Hdr3
Data4
Data5
FF
Hdr1
Hdr2
Hdr3 (9 Replies)
Discussion started by: yohan
9 Replies
10. UNIX for Beginners Questions & Answers
Hi Guys
I am looking for a solution to one problem to remove parentheses in a range of lines.
Input file
module bist_logic_inst(a, ab , dhd, dhdh , djdj, hdh, djjd, jdj, dhd, dhp, dk
);
input a;
input ab;
input dhd;
input djdj;
input dhd;
output hdh;
output djjd;
output jdj;... (5 Replies)
Discussion started by: kshitij
5 Replies
LEARN ABOUT DEBIAN
plan9-diff
DIFF(1) General Commands Manual DIFF(1)
NAME
diff - differential file comparator
SYNOPSIS
diff [ -acefmnbwr ] file1 ... file2
DESCRIPTION
Diff tells what lines must be changed in two files to bring them into agreement. If one file is a directory, then a file in that directory
with basename the same as that of the other file is used. If both files are directories, similarly named files in the two directories are
compared by the method of diff for text files and cmp(1) otherwise. If more than two file names are given, then each argument is compared
to the last argument as above. The -r option causes diff to process similarly named subdirectories recursively. When processing more than
one file, diff prefixes file differences with a single line listing the two differing files, in the form of a diff command line. The -m
flag causes this behavior even when processing single files.
The normal output contains lines of these forms:
n1 a n3,n4
n1,n2 d n3
n1,n2 c n3,n4
These lines resemble ed commands to convert file1 into file2. The numbers after the letters pertain to file2. In fact, by exchanging `a'
for `d' and reading backward one may ascertain equally how to convert file2 into file1. As in ed, identical pairs where n1 = n2 or n3 = n4
are abbreviated as a single number.
Following each of these lines come all the lines that are affected in the first file flagged by `<', then all the lines that are affected
in the second file flagged by `>'.
The -b option causes trailing blanks (spaces and tabs) to be ignored and other strings of blanks to compare equal. The -w option causes
all white-space to be removed from input lines before applying the difference algorithm.
The -n option prefixes each range with file: and inserts a space around the a, c, and d verbs. The -e option produces a script of a, c and
d commands for the editor ed, which will recreate file2 from file1. The -f option produces a similar script, not useful with ed, in the
opposite order. It may, however, be useful as input to a stream-oriented post-processor.
The -c option includes three lines of context around each change, merging changes whose contexts overlap. The -a flag displays the entire
file as context.
Except in rare circumstances, diff finds a smallest sufficient set of file differences.
FILES
/tmp/diff[12]
SOURCE
/src/cmd/diff
SEE ALSO
cmp(1), comm(1), ed(1)
DIAGNOSTICS
Exit status is the empty string for no differences, for some, and for trouble.
BUGS
Editing scripts produced under the -e or -f option are naive about creating lines consisting of a single `.'.
When running diff on directories, the notion of what is a text file is open to debate.
DIFF(1)