how to remove the first line from a flat file ?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how to remove the first line from a flat file ?
# 15  
Old 03-31-2005
results

head -1 bigflatfile > firstline # works but would rather be a var

firstline=$(head -1 bigflatfile) # does not work $firstline is empty

firstline='perl -pi.bk -e 'print( STOUT $_ ) and $_= "" if ($. == 1);'jobs.txt'
-bash: syntax error near unexpected token `('

I am new to shell programming so please let me know if I am getting the syntax wrong...
# 16  
Old 03-31-2005
Quote:
Originally Posted by Craiz
head -1 bigflatfile > firstline # works but would rather be a var

firstline=$(head -1 bigflatfile) # does not work $firstline is empty

firstline='perl -pi.bk -e 'print( STOUT $_ ) and $_= "" if ($. == 1);'jobs.txt'
-bash: syntax error near unexpected token `('

I am new to shell programming so please let me know if I am getting the syntax wrong...
try
Code:
firstline=`head -1 bigflatfile`

The syntax of firstline=$(head -1 bigflatfile) may not work with your shell. What shell are you using?

Also, when you are calling a program and trying to place the output of that program into a variable, you need to use backticks, not single quotes. The backtick is right above the tab on a standard keyboard. Change your perl statement to:

Code:
firstline=`perl -pi.bk -e 'print( STOUT $_ ) and $_= "" if ($. == 1);'jobs.txt`


Last edited by dangral; 03-31-2005 at 12:46 PM..
# 17  
Old 04-01-2005
And make sure your printing to STDOUT, not "STOUT" - that's a very nice beverage but no good in Perl programming Smilie

Cheers
ZB
# 18  
Old 04-01-2005
this is what I am working on

#!/bin/bash
: > ./.dirbuff;
ls > ./.dirbuff;
CurPath="";
CurPath=`pwd`;
echo "Current path is "$CurPath""
CurDir="";
CurDir=`head -1 ./.dirbuff`;
echo "Current directory is "$CurDir""
if [ "$CurDir" = "" ]
then
echo "ERR: No Directory selected"
exit 0
fi

mkdir /here/"$CurDir";
cd "$CurPath"/"$CurDir"/there/;
cp --recursive * /here/"$CurDir";
find * > ../localfound
cd /here/"$CurDir";
find * > "$CurPath"/"$CurDir"/remotefound
cd "$CurPath"/"$CurDir"
bid=`diff localfound remotefound`
if [ "$bid" = "" ]
then
rm -drf ./"$CurDir";
else
echo "copy mismatch -"$CurPath"/"$CurDir"/there/ /here/"$CurDir""
exit 0
fi

Why is my remove not working?
Is my syntax still wronge?
# 19  
Old 04-01-2005
oops

sometimes just aking the question outlous gives you the answer...

this is what I wanted:

#!/bin/bash
: > ./.dirbuff;
ls > ./.dirbuff;
CurPath="";
CurPath=`pwd`;
echo "Current path is "$CurPath""
CurDir="";
CurDir=`head -1 ./.dirbuff`;
echo "Current directory is "$CurDir""
if [ "$CurDir" = "" ]
then
echo "ERR: No Directory selected"
exit 0
fi

mkdir /here/"$CurDir";
cd "$CurPath"/"$CurDir"/there/;
cp --recursive * /here/"$CurDir";
find * > ../localfound
cd /here/"$CurDir";
find * > "$CurPath"/"$CurDir"/remotefound
cd "$CurPath"/"$CurDir"
bid=`diff localfound remotefound`
if [ "$bid" = "" ]
then
rm -drf ./there;
else
echo "copy mismatch -"$CurPath"/"$CurDir"/there/ /here/"$CurDir""
exit 0
fi


and it works!!!!
Thanx anyways
# 20  
Old 09-18-2008
How to delete line in the same file in unix?

How to delete line in the same file in unix ?
Both commands,
/bin/echo "g/$patern/d\nwq!" | ex -s $file
(echo "g/$patern/d"; echo 'wq') | ex -s $filename
works fine if there are more than 1 line in file but if there is only one line then above delete command dosent works. Please help me !!
# 21  
Old 12-11-2008
I want to do for the entire directory..
so wrote something like this

Code:
#!/usr/bin/perl
for ( @ARGV ){
        $filename = $_;
        print $filename\n;        `perl -pi -e '$_ = "" if ($. == 1);' $filename`;        }

and then executed in the directory:

srcipt.pl *

But giving error as
syntax error at -e line 1, near "func_7_start"
Execution of -e aborted due to compilation errors.
Bareword found where operator expected at -e line 1,
.
.
.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove first NULL Character in Flat File

We have a flat file with below data : ^@^@^@^@00000305^@^@^@^@^@^@430^@430^@^@^@^@^@^@^@^@^@09079989530As we can see ^@ is Null character in this file I want to remove only the first few null characters before string 00000305 How can we do that, any idea. I want a new file without first few... (5 Replies)
Discussion started by: simpltyansh
5 Replies

2. UNIX for Advanced & Expert Users

Remove duplicates in flat file

Hi all, I have a issues while loading a flat file to the DB. It is taking much time. When analyzed i found out that there are duplicates entry in the flat file. There are 2 type of Duplicate entry. 1) is entire row is duplicate. ( i can use sort | uniq) to remove the duplicated entry. 2) the... (4 Replies)
Discussion started by: samjoshuab
4 Replies

3. Shell Programming and Scripting

Get line number in flat file

Hi, Is there a way to find out the line number from where the data starts? like if the data contains column header, irrespective of the text in the column header we should get the line number from which contains the column header. I am sorry if I haven't explained the problem clearly. ... (8 Replies)
Discussion started by: kedar_laveti
8 Replies

4. Shell Programming and Scripting

Remove white spaces from flat file generated from Oracle table...

I have to export data from table into flat file with | delimited. In the ksh file, I am adding below to do this activity. $DBSTRING contains the sqlplus command and $SQL_STRING contains the SQL query. File is created properly with the data as per SQL command. I am getting white spaces in the... (1 Reply)
Discussion started by: mgpatil31
1 Replies

5. UNIX for Dummies Questions & Answers

How to remove numeric characters in the flat file

HI, can any one help me please .. i have flat file like qwer123rt ass3242ccf jjk654 kjh838ppp nhdg453ok hdkk34 i want remove numeric characters in the flat file i want output like this qwerrt assccf jjk kjhppp nhdgok hdkk help me... (4 Replies)
Discussion started by: rafimd1985
4 Replies

6. Shell Programming and Scripting

Remove the footer from a flat file by searching a pattern

Hi, I have more than 30,000 records in a flat file. I want to remove footer from the file by searching a string pattern for the footer. Example.... let the flat file test.dat contains below records. record1 record2 record3 .. .. .. record31000 Total records 31000 I want to remove the... (6 Replies)
Discussion started by: gani_85
6 Replies

7. Shell Programming and Scripting

Remove somewhat Duplicate records from a flat file

I have a flat file that contains records similar to the following two lines; 1984/11/08 7 700000 123456789 2 1984/11/08 1941/05/19 7 700000 123456789 2 The 123456789 2 represents an account number, this is how I identify the duplicate record. The ### signs represent... (4 Replies)
Discussion started by: jolney
4 Replies

8. Shell Programming and Scripting

remove specific lines from flat file using perl

Hi, Here is wat im looking for.. i have a flat file which looks like this.. 00 * * * * .. .. * * text text text COL1 COL2 ----- ----- 1 a (12 Replies)
Discussion started by: meghana
12 Replies

9. Shell Programming and Scripting

How to remove page breaks from a flat file???

Hi All, I get a flat file with its last field data splitting onto a new line.I got this program from Vgersh which when run would cancatenate the split data back to the end of the previous records.But this program fails when it encounters a page break between the split data and the previous... (5 Replies)
Discussion started by: kumarsaravana_s
5 Replies

10. Shell Programming and Scripting

how to get rid of blank line in a flat text file

Hi, I have a flat text file which contains blank line between each text line. Is there any command to get rid of it? Thanks for your help (11 Replies)
Discussion started by: xfang
11 Replies
Login or Register to Ask a Question