Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Sed to remove only first line erroneously removes last line too Post 302544634 by dqrgk0 on Thursday 4th of August 2011 10:44:28 AM
Old 08-04-2011
Hello yazu,

When I execute your command on the console, it is successful in producing the desired results. Smilie

However, I am having difficulty incorporating it into my final script. I have copied a version of it below for review. I've tried several ways and when executing the script, I am getting errors such as "broken pipe" or "garbled." The last row is still being removed. Smilie

Can someone please review my script and let me know how I am supposed to incorporate the proper syntax so my last record is not deleted?

In a nutshell, this script is to take the original file, emfdata.asc, replace all 3-char delimiters (*~|) with only pipes...Then delete the first row (column headings)...Finally write it to a file called emfdata.dat.

#!/bin/sh
if [ -s /test/dir/a00/datafiles/emf/emfdata.asc ]
then
sed -e 's/*~|/|/g' -e 's_.*_|&_' /test/dir/a00/datafiles/emf/emfdata.asc > /test/dir/a00/datafiles/emf/emfdata.tmp
sed '1d' /test/dir/a00/datafiles/emf/emfdata.tmp > /test/dir/a00/datafiles/emf/emfdata.dat
mv /test/dir/a00/datafiles/emf/emfdata.asc /test/dir/a00/datafiles/emf/emfdata.asc.old
rm /test/dir/a00/datafiles/emf/emfdata.tmp
fi

A couple of additional things: I think maybe the last line being deleted is occuring after the first sed command too...not the second, as I found out when I did the output to screen. Also, my script produces the correct results for a test file with only 5 records, but is not for a file containing 185 records...Why is that?

Thank you in advance! Smilie
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SED help (remove line::parse again::add line)

Aloha! I have just over 1k of users that have permissions that they shouldn't under our system. I need to parse a provided list of usernames, check their permissions file, and strip the permissions that they are not allowed to have. If upon the permissions strip they are left with no permissions,... (6 Replies)
Discussion started by: Malumake
6 Replies

2. Shell Programming and Scripting

sed remove last 10 characters of a line start from 3rd line

hello experts, I need a sed command that remove last 10 characters of a line start from 3rd line. any suggestions? Thanks you (7 Replies)
Discussion started by: minifish
7 Replies

3. Shell Programming and Scripting

Remove blank line - SED

HI, I have this list of apps like so: DivX Products.app DivX Support.app Uninstall DivX for Mac.app Build Applet.app SpringBoard.app Interface.app MobileAddressBook.app MobileSafari.app MobileSlideShow.app Preferences.app Install Flash Player 8 OSX.app Yap.app check_afp.app ... (10 Replies)
Discussion started by: pcwiz
10 Replies

4. Shell Programming and Scripting

sed: remove first character from particular line

Hello Experts, I have a file "tt.txt" which is like: #a1=a2 b1=b2 #c1=c2 I need to remove the pound (#) sign from a particular line. In this case let us assume it's 3rd line : "#c1=c2" I can do it through: sed "s/#c1=c2/c1=c2/" tt.txtbut it is possible that I may not know the value... (6 Replies)
Discussion started by: hkansal
6 Replies

5. Shell Programming and Scripting

sed -e remove line from file

Hi Trying to remove line from file log_January_1_array and code below doesn't work. $(sed -e '/"$n"/d' <log_January_1_array >log_January_1_array_1) sed doesn't know what is in $n variable and nth happens. Please advice how to make sed running this. thx (2 Replies)
Discussion started by: presul
2 Replies

6. Shell Programming and Scripting

SED to remove a line above and lines below.

:confused:Hi All, I need help on removing lines in a text file. Sample file : When there is a match ip for IPAddress in my `cat ip.out`, proceed delete line above until string "Comp" is found. Thank you very much. ---------- Post updated at 12:56 AM ---------- Previous update was... (4 Replies)
Discussion started by: chiewming
4 Replies

7. Shell Programming and Scripting

remove particular line from a file using sed

Hi i need to remove all the lines staring with 'printf("\n' from a file, example : the file tmp.txt contains printf("\n "); printf("\n good"); printf("\n "); printf("\n "); printf(""); printf( m_sprintf(for printf("\n "); i have tried with following commands but... (5 Replies)
Discussion started by: mprakasheee
5 Replies

8. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

9. Shell Programming and Scripting

Newline to space code removes 0 from the first line

I am having a peculiar problem. First I run the code below to append 0 at the start of each line in some hundreds of files that I have in a directory. These files have each word in a newline. for f in *.dat; do echo "0" > tmpfile cat $f >> tmpfile mv tmpfile $f done Then I run this... (7 Replies)
Discussion started by: shoaibjameel123
7 Replies
fixup_datafile(3alleg4) 					  Allegro manual					   fixup_datafile(3alleg4)

NAME
fixup_datafile - Fixes truecolor images in compiled datafiles. Allegro game programming library. SYNOPSIS
#include <allegro.h> void fixup_datafile(DATAFILE *data); DESCRIPTION
If you are using compiled datafiles (produced by the dat2s and dat2c utilities) on a platform that doesn't support constructors (currently any non GCC-based platform), or if the datafiles contain truecolor images, you must call this function once after your set the video mode that you will be using. This will ensure the datafiles are properly initialised in the first case and convert the color values into the appropriate format in the second case. It handles flipping between RGB and BGR formats, and converting between different color depths when- ever that can be done without changing the size of the image (ie. changing 15<->16-bit hicolor for both bitmaps and RLE sprites, and 24<->32-bit truecolor for RLE sprites). Note that you can only call this once and expect it to work correctly, because after the call the DATAFILE you fixed up is permanently con- verted to whatever is the current component ordering for your screen mode. If you call fixup_datafile again, the function assumes you have a freshly loaded datafile. It cannot "undo" the previous conversion. If your program supports changing resolution and/or color depth during runtime, you have two choices: either call fixup_datafile() just once and hope that the component ordering and bit depth doesn't change when the screen mode changes (unlikely). Or, you can reload your datafiles when the screen mode changes. SEE ALSO
set_gfx_mode(3alleg4), set_color_conversion(3alleg4) Allegro version 4.4.2 fixup_datafile(3alleg4)
All times are GMT -4. The time now is 01:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy