Sponsored Content
Top Forums Shell Programming and Scripting deleting the lines at the end of the file. Post 302452179 by durden_tyler on Thursday 9th of September 2010 01:14:24 PM
Old 09-09-2010
Code:
$
$
$ # Show data without line numbers on the left
$ cat f13
0              2.14014e-07
13.214      1.00771e-06
13.947      3.76252e-05
13.958      5.2692e-06
13.966     4.87701e-06
14.065     3.81149e-06
14.076     3.65411e-06
14.29       9.82566e-07
17.899     6.10872e-07
19.757     7.14666e-07
200.947    1.78718e-07
226.555    1.34066e-07
231.43     1.35589e-07
231.8       9.41089e-08
266.201    1.91486e-07
 
$
$ # Show data *with* lines numbers on the left
$ cat -n f13
     1  0              2.14014e-07
     2  13.214      1.00771e-06
     3  13.947      3.76252e-05
     4  13.958      5.2692e-06
     5  13.966     4.87701e-06
     6  14.065     3.81149e-06
     7  14.076     3.65411e-06
     8  14.29       9.82566e-07
     9  17.899     6.10872e-07
    10  19.757     7.14666e-07
    11  200.947    1.78718e-07
    12  226.555    1.34066e-07
    13  231.43     1.35589e-07
    14  231.8       9.41089e-08
    15  266.201    1.91486e-07
    16
$
$ # Remove the blank line at the end. Assume that the blank line *may have* whitespaces.
$ # Perform an inline replacement in the data file.
$
$ perl -pi.bak -e 's/^\s*$//' f13
$
$ # Check the modified data file.
$ cat -n f13
     1  0              2.14014e-07
     2  13.214      1.00771e-06
     3  13.947      3.76252e-05
     4  13.958      5.2692e-06
     5  13.966     4.87701e-06
     6  14.065     3.81149e-06
     7  14.076     3.65411e-06
     8  14.29       9.82566e-07
     9  17.899     6.10872e-07
    10  19.757     7.14666e-07
    11  200.947    1.78718e-07
    12  226.555    1.34066e-07
    13  231.43     1.35589e-07
    14  231.8       9.41089e-08
    15  266.201    1.91486e-07
$
$ # Check the backup data file generated by the Perl one-liner.
$ cat -n f13.bak
     1  0              2.14014e-07
     2  13.214      1.00771e-06
     3  13.947      3.76252e-05
     4  13.958      5.2692e-06
     5  13.966     4.87701e-06
     6  14.065     3.81149e-06
     7  14.076     3.65411e-06
     8  14.29       9.82566e-07
     9  17.899     6.10872e-07
    10  19.757     7.14666e-07
    11  200.947    1.78718e-07
    12  226.555    1.34066e-07
    13  231.43     1.35589e-07
    14  231.8       9.41089e-08
    15  266.201    1.91486e-07
    16
$
$
$

This should work if:

(a) there is more than one blank line at the end of the file => the one-liner removes all those blank lines at eof
(b) there is one or more than one blank line before the end of the file => the one-liner removes all those blank lines wherever they are before eof
(c) the lines refered to in (a) and (b) have zero or more whitespaces

tyler_durden

Last edited by durden_tyler; 09-09-2010 at 02:19 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Deleting end line spaces for along file

How can i clear all space characteres for a long file at the end of each line? (3 Replies)
Discussion started by: osymad
3 Replies

2. Shell Programming and Scripting

Deleting lines in a file

How do I delete all the lines after the line containing text ***DISCLOSURES*** . I want to delete this line too. Thank you (2 Replies)
Discussion started by: reachsamir
2 Replies

3. UNIX Desktop Questions & Answers

Deleting Junks at the end of each line in a file

Is there any way to delete the Junk Characters(Invalid Characters like ^,',",),(,&,# etc.,) at the end of each record in a file? I want to do this using a single line script. Thanks to all in advance!!! (5 Replies)
Discussion started by: dave_nithis
5 Replies

4. UNIX for Advanced & Expert Users

Deleting end of line $ character in file

Hi, I've got a file where in the middle of the record is a $ end of line character, visible only when I open the file in vi and do :set list. How to I get rid of the character in the middle and keep it at the end. The middle $ character always appears after SW, so that can be used to tag it.... (3 Replies)
Discussion started by: bwrynz1
3 Replies

5. UNIX for Dummies Questions & Answers

Deleting whole lines from a file

I have a file with 65 sets of 35 coordinates, and would like to isolate these coordinates so that I can easily copy the coordinates to another file. The problem is, I've got a 9 line header before each set of coordinates (so each set is 44 lines long). There are a zillion threads out there about... (3 Replies)
Discussion started by: red baron
3 Replies

6. UNIX for Advanced & Expert Users

Deleting lines from a file

How I can delete 100 lines anywhere in a file without opening a file and without renaming the file. (11 Replies)
Discussion started by: Nirgude07
11 Replies

7. Shell Programming and Scripting

deleting lines from file

We have a server that logs transactions to a file. I want to write a script that will delete the first 50 lines of the file daily without renameing the file or moving the file. (8 Replies)
Discussion started by: daveisme
8 Replies

8. UNIX for Dummies Questions & Answers

deleting word from this point to end of file in VI

Hi All i need to delete a recurring word from point "n" till end of the file. there are other words in this file so i cannot use `dG`, can anyone help me out? Kind regards Brian (4 Replies)
Discussion started by: brian112
4 Replies

9. Shell Programming and Scripting

deleting blank lines ONLY at the end of the file

Hi Guys, I have a quetion which was already discussed in the forum, but for some reason all approches suggested fail for me. I have a file which have blank lines at the body of the text as well as at the end. I need to delete ONLY blank lines at the end. Unfortunatly the approach below does not... (5 Replies)
Discussion started by: aoussenko
5 Replies

10. Shell Programming and Scripting

deleting the part of the file(overwrite) using start and end point

here is the contents of bigfile.sql CREATE TABLE `Table11` ( `id` int(11) NOT NULL , `entityName` enum('Lines','EndUsers') COLLATE utf8_unicode_ci NOT NULL, `parentAllianceMigrationProjectId` varchar(255) NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8... (30 Replies)
Discussion started by: vivek d r
30 Replies
ARITHMETIC(6)							 BSD Games Manual						     ARITHMETIC(6)

NAME
arithmetic -- quiz on simple arithmetic SYNOPSIS
arithmetic [-o +-x/] [-r range] DESCRIPTION
arithmetic asks you to solve problems in simple arithmetic. Each question must be answered correctly before going on to the next. After every 20 problems, it prints the score so far and the time taken. You can quit at any time by typing the interrupt or end-of-file character. The options are as follows: -o By default, arithmetic asks questions on addition of numbers from 0 to 10, and corresponding subtraction. By supplying one or more of the characters +-x/, you can ask for problems in addition, subtraction, multiplication, and division, respectively. If you give one of these characters more than once, that kind of problem will be asked correspondingly more often. -r If a range is supplied, arithmetic selects the numbers in its problems in the following way. For addition and multiplication, the numbers to be added or multiplied are between 0 and range, inclusive. For subtraction and division, both the required result and the number to divide by or subtract will be between 0 and range. (Of course, arithmetic will not ask you to divide by 0.) The default is 10. When you get a problem wrong, arithmetic will remember the numbers involved, and will tend to select those numbers more often than others, in problems of the same sort. Eventually it will forgive and forget. arithmetic cannot be persuaded to tell you the right answer. You must work it out for yourself. DIAGNOSTICS
``What?'' if you get a question wrong. ``Right!'' if you get it right. ``Please type a number.'' if arithmetic doesn't understand what you typed. SEE ALSO
bc(1), dc(1) BSD
May 31, 1993 BSD
All times are GMT -4. The time now is 06:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy