file question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting file question
# 1  
Old 08-12-2002
file question

without using a file stream editor such as sed, is there a way to echo the value of a variable to a specific location in a file (i.e. if the file has 20 lines, can I add a new line with the contents of the variable FOO at line 1?) ? I should add that the file will be created during run time. The shell will create the file, capture a output from a spool command, then slap a header record and trailer record on it. The header cannot be initially created because its dependant upon the output of the spool.
# 2  
Old 08-12-2002
You could do something like this:

echo "HEADER" > tmpfile.txt
cat logfile.txt >> tmpfile.txt
mv tmpfile.txt logfile.txt
# 3  
Old 08-12-2002
Why not use sed?
# 4  
Old 08-13-2002
I was more curious than anything as to whether there is a way to insert a line of data into a file (at any given line number) without using an editor such as sed.

What I really would like to know is if I can accomplish this without using intermediate files such as noted by the first reply.

How can I do this with sed?
# 5  
Old 08-13-2002
Unfortunately sed requires the use of temporary files as you can't output to the original file, so either way you're going to have to use temp files.

See this thread for the sed syntax on inserting. Note in the examples 1 is used for the insert, but you can specify the line number as different.
# 6  
Old 08-21-2002
If you depend on the line numbers for the insertion,
probably the easiest way is to use awk (nawk).

awk '
# Insert line in the file before line 5
NR=5 { print"The line you need"}
{print}
' infile > outfile
# 7  
Old 08-21-2002
What about using the shell?

This will take whatever is in "file1", and place a seperator line before line 5:
Code:
#! /bin/ksh

integer n=1
while read line; do
 (( n == 5 )) && { print "#------- Seperator ------#"; }
 print $line
 n=n+1
done < file1

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how many pass in the file ,three question

Hi all Question 1: I want to use "awk" or "sed" to know how many "PASS after "FINISH" i Question 2: I want to use "awk" or "sed" to know how many "PASS" after the *last* "FINISH ,it shoud be 2 in this file Question 3. I want to use "awk" or "sed" to know how many "PASS between "789" and... (5 Replies)
Discussion started by: yanglei_fage
5 Replies

2. Solaris

File system - question?

Hello, I have few questions about file system in Unix and Linux. 1. What's the difference between Unix and Linux in their file system? Are they the same? 2. Is in Unix directory for administrator "/root" - like in Linux - Ubuntu or not? 3.Where is the users directory in Unix? Is it... (2 Replies)
Discussion started by: niki22
2 Replies

3. Red Hat

Question about crontab file!

Friends , I have the following questions about crontab file : 1) In crontab file I got the folllowing output : # cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root... (2 Replies)
Discussion started by: shipon_97
2 Replies

4. UNIX for Dummies Questions & Answers

tar file question

Hi I did this command to tar the files but I got an error. tar -cvpf filename.tar pathname/ It did tar the file filename.tar but then it gave me this error "Reach end of file before expected". The new tar file is about 2GB. So does that mean my tar file limit is 2GB? Is there a max limit... (4 Replies)
Discussion started by: chaoses
4 Replies

5. UNIX for Dummies Questions & Answers

Question regarding lm file

How to know where a ln file point to.ln files is soft link which point to some file. I want to get the absolute path of that file which my lm files pointing to. (5 Replies)
Discussion started by: mr_deb
5 Replies

6. Shell Programming and Scripting

Question about output to file

Hi, I am try to setup a FOR loop script to find out all the existing linux workstations in the network w/ ip address, hostname and linux version. I created a basic FOR loop script: for i in $(seq 1 254) do echo 10.72.169.$i >> result ssh -o ConnectTimeout=3 root@10.72.169.$i "hostname"... (1 Reply)
Discussion started by: beeloo
1 Replies

7. Shell Programming and Scripting

mk file question

In a makefile when you specify something like.... xxx-xx: -$(yyy) $(zzz) What does the"-" (hyphen) before the "$" mean? (assuming xxx-xx is the target name) (2 Replies)
Discussion started by: felixmat1
2 Replies

8. Shell Programming and Scripting

Post Shell programming: Question about source a file and read data from the file

This is shell programming assignment. It needs to create a file called .std_dbrc contains STD_DBROOT=${HOME}/class/2031/Assgn3/STD_DB (which includes all my simple database files) and I am gonna use this .std_dbrc in my script file (read the data from the database files) like this: .... (3 Replies)
Discussion started by: ccwq
3 Replies

9. UNIX for Dummies Questions & Answers

file deleting question

somehow one of my directories got a number of files whose names start with a dash - e.g. -1129.txt how can I remove them? If I issue rm -1129.txt I get the message of illegal options if I issue rm /-1129.txt I get a message that -1129.txt is not found Lisa HP-UX 11.23 i64 (3 Replies)
Discussion started by: LisaS
3 Replies

10. UNIX for Dummies Questions & Answers

Newbie question about difference between executable file and ordinary file

Hi, I am newbie in unix and just started learning it. I want to know what is the difference between an executable file and a file (say text file). How to create executable file? What is the extension for that? How to differentiate ? How does it get executed? Thanks (1 Reply)
Discussion started by: Balaji
1 Replies
Login or Register to Ask a Question