Delete first line from file and more....


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete first line from file and more....
# 1  
Old 05-17-2007
Delete first line from file and more....

Hello, I have to deal with several files that will be named something like this:
E00001.TXT, E00002.TXT etc.
Each file will have a alpha character on the first position of the first line which I want to place in a variable, then delete the entire line leaving the remainder of text. This new file I want to be named the original filename prefixed by the character I previously extracted so the new file might be RE00001.TXT. Usually, out of habit I call tcl scripts to do file manipulation but I wanted to know if there was a fairly starighforward way to do this all in my Unix script (ksh). I don't know much about sed or awk so if you give examples with that and don't mind providing a brief description of what does what that would be helpful. Could the grep command provide all the functionality I'm asking for?

TIA

D
# 2  
Old 05-17-2007
dfb,
See if this works for you:
Code:
for mFile in E?????.TXT
do
  mFirstChar=`head -1 $mFile | cut -c1`
  mNewFile=$mFirstChar$mFile
  echo "new file = "$mNewFile
  mv $mFile $mNewFile
done

# 3  
Old 05-17-2007
Shell, I like it, very simple, I don't think it addresses the issue of my new file containing everything except the first line though, does it? How can I get the newfile to exclude the first line from the source file, is that the cut command again?

Thx again
# 4  
Old 05-17-2007
Here it is removing the first line:
Code:
for mFile in E?????.TXT
do
  mFirstChar=`head -1 $mFile | cut -c1`
  mNewFile=$mFirstChar$mFile
  echo "new file = "$mNewFile
  sed '1d' $mFile > $mNewFile
done

# 5  
Old 05-17-2007
Shell, I'll try it, my thanks!!!
# 6  
Old 05-17-2007
Code:
awk '
FNR==1 { ch=substr($0,1,1)} #get first character from first line
FNR>1 { # get 2nd line onwards
        newfile=ch FILENAME
	print > newfile #save 2nd line onwards to newfile.         
      }
' E*.TXT

# 7  
Old 07-02-2009
You could use sed to do the job:

Code:
sed 1d E000* -i


In the above example, all the the files that begin with E000 will have the first line erased.

Hope this helps.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

File same line delete

Hi, I want to do file1 to file2. Rows will be different every time. Thanks. file1 Fru-Name :BCNMB-B Fru-Location :/chassis-1/motherboard-1 Node-Name :LMP-1-1-1 Fru-Name :BMPP2-B Fru-Location :/chassis-1/slot-1 Node-Name :CFPU-0 Fru-Name :BMPP2-B Fru-Location... (2 Replies)
Discussion started by: ozcanaydin
2 Replies

2. UNIX for Advanced & Expert Users

How to find a string in a line in UNIX file and delete that line and previous 3 lines ?

Hi , i have a file with data as below.This is same file. But actual file contains to many rows. i want to search for a string "Field 039 00" and delete that line and previous 3 lines in that file.. Can some body suggested me how can i do using either sed or awk command ? Field 004... (7 Replies)
Discussion started by: vadlamudy
7 Replies

3. Shell Programming and Scripting

How to delete either of one line from file.?

Hi gurus, I have one file it may contains one line is "START" or "FINISH" either one of them. I use below command to delete it, but it doens't work. sed '/^START\|^END/d' <inputfile > outfile anybody can help me to fix this. thanks in advance. (12 Replies)
Discussion started by: ken6503
12 Replies

4. Shell Programming and Scripting

Delete a particular line from a file

I have a file of following form 2886758410 2886758500 17 1999-Mar-18 16:26:26 1 0 52 139 1129 2886758420 2886758500 17 1999-Mar-18 16:26:35 1 0 52 139 1131 2886758420 2886758500 17 1999-Mar-18 16:26:41 0 0 56 56 1132... (4 Replies)
Discussion started by: vaibhavkorde
4 Replies

5. Shell Programming and Scripting

Delete line from file

hi all, i have trackfile.txt which contains the data as 0 /home8/mc09ats/UnixCw/t1 1 /home8/mc09ats/UnixCw/t2 2 /home8/mc09ats/UnixCw/t3 3 /home8/mc09ats/UnixCw/t4 if user says delete 1 then i want to delete 1 /home8/mc09ats/UnixCw/t2 line from... (3 Replies)
Discussion started by: AbhijitIT
3 Replies

6. UNIX for Dummies Questions & Answers

Delete a line from a file

Hi, Need to delete a line from a file, file is too large so cannot use vi. I know the line number that has to be deleted... How can this be done ? (8 Replies)
Discussion started by: rohini
8 Replies

7. Shell Programming and Scripting

how to delete a line from the file

Hi, I have a file which contains entries with different numbers, for example: 275|24hroff|sel,fill,dbw| 2758|24hroff|sel,fill,dbw| 2765|24hroff|sel,fill,dbw| 2920|24hroff|sel,fill,dbw| I need to delete a line which contains certian number, for instance 275 I was trying to use 'sed' but... (3 Replies)
Discussion started by: aoussenko
3 Replies

8. UNIX for Dummies Questions & Answers

How to delete line from a file

Hi , I have a file it content is like that /vol.nas/u08/aip_triage/hany/Tesko/:CC::RPAS /home/biblawh/myscript:CC::RPAS i need to search for a certain pattern inside that file and delete the line if i find this pattern without redirecting the output into another file . so i used the... (0 Replies)
Discussion started by: ramezernest
0 Replies

9. Shell Programming and Scripting

delete line in a file

Hi all, I would like to delete a line in file.txt which has a list of filename. example: file_a file_b file_c lets say i have file_b in my directory, then i should delete file_b in file.txt and get output file.txt with only file_a and file_b. Below is my script, my result is still ... (12 Replies)
Discussion started by: dta4316
12 Replies

10. UNIX for Dummies Questions & Answers

Delete line(s) from file

What is the easiest way to delete a line from a file? I have a file that contains list for Domestic and Foreign customers. I want to delete all lines staring with Foreing. TIA (4 Replies)
Discussion started by: elchalateco
4 Replies
Login or Register to Ask a Question