Adding the file name as the first line of the file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Adding the file name as the first line of the file
# 1  
Old 09-26-2014
Adding the file name as the first line of the file

I have a lot of files under a folder and each file has a different name. I want to add each file's name as the first line of each file. How can I do this? I was trying to use this script
Code:
for file in *; do echo $file >tempfile; cat $file >>tempfile; mv tempfile $file; done

, but there are some random files cannot be added the title names on the first line under this script.
Thank you in advance.
# 2  
Old 09-26-2014
While the idea sounds a bit strange, you can make it more robust like this:
Code:
ls | while IFS="" read -r file
do
  read hasline1 < "$file"
  if [ "$hasline1" != "$file" ]
  then
    (echo "$file"; cat "$file") > /tmp/tempfile.$$ &&
    cp /tmp/tempfile.$$ "$file"
  fi
done

This User Gave Thanks to MadeInGermany For This Post:
# 3  
Old 09-26-2014
Quote:
Originally Posted by MadeInGermany
While the idea sounds a bit strange, you can make it more robust like this:
Code:
ls | while IFS="" read -r file
do
  read hasline1 < "$file"
  if [ "$hasline1" != "$file" ]
  then
    (echo "$file"; cat "$file") > /tmp/tempfile.$$ &&
    cp /tmp/tempfile.$$ "$file"
  fi
done

Thank you so much, it works perfectly and no error.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding line in a file using info from previous line

I have a shell script that looks something like the following: mysql -uroot db1 < db1.sql mysql -uroot db2 < db2.sql mysql -uroot db3 < db3.sql mysql -uroot db4 < db4.sql .... different db names in more than 160 lines. I want to run this script with nohup and have a status later. So,... (6 Replies)
Discussion started by: MKH
6 Replies

2. Shell Programming and Scripting

Adding new line to file

Hi everyone, currently I writing a script for comparing 2 variable in 2 line then output the line with equal value to new file. However, the new file only contain last line only, the earlier line was delete. I do google my problem but still not find the way out. Sorry for my English. Thank you... (10 Replies)
Discussion started by: lazy_bear
10 Replies

3. Shell Programming and Scripting

Adding tab/new line at the end of each line of a file

Hello Everyone, I need a help from experts of this community regarding one of the issue that I am facing with shell scripting. My requirement is to append char's at the end of each line of a file. The char that will be appended is variable and will be passed through command line. The... (20 Replies)
Discussion started by: Sourav Das
20 Replies

4. Shell Programming and Scripting

editing line in text file adding number to value in file

I have a text file that has data like: Data "12345#22" Fred ID 12345 Age 45 Wilma Dino Data "123#22" Tarzan ID 123 Age 33 Jane I need to figure out a way of adding 1,000,000 to the specific lines (always same format) in the file, so it becomes: Data "1012345#22" Fred ID... (16 Replies)
Discussion started by: say170
16 Replies

5. Shell Programming and Scripting

adding a line to a text file

I have a tab delimited text file, id name distance 1 3325167 0.334561754018 2 3290488 0.389444269458 3 3288794 0.392312701782 4 3347602 0.392532202097 5 3295355 0.394394169485 I need to add a line after the header line. The first and third field of... (3 Replies)
Discussion started by: LMHmedchem
3 Replies

6. Shell Programming and Scripting

Adding data in a file on same line

Hi, I have one file a.txt ,the contents of the file is A B C D E F and I have another file b.txt, the contents of the file is 1 2 3 4 5 6 now when I am using this command cat a.txt b.txt > c.txtI am getting the output as A B C D E F 1 2 3 4 5 6 but i need the output... (2 Replies)
Discussion started by: prarat
2 Replies

7. Shell Programming and Scripting

adding a line to file

i am writing a script which will let user to input a line. i m not sure how do i add this line to the end of a txt file ? (8 Replies)
Discussion started by: 76455
8 Replies

8. Shell Programming and Scripting

Adding a line to a file

Hi guys, How to add a line before a specific line (identified with the starting work ex: xxx) of a file and write it back to the same file? Thanks (12 Replies)
Discussion started by: mwrg
12 Replies

9. UNIX for Dummies Questions & Answers

Adding Numbers in a line from a file

Hello everyone ! Ive searched everywhere and still havnt found enough information to help me overcome (what seems like) a small problem I have created a temporary file in which i store numbers which a seperated by a space, eg) 5 10 46 23 866 392 i wish to take the numbers for each line... (2 Replies)
Discussion started by: healwithchaos
2 Replies

10. Shell Programming and Scripting

adding a line to a file

I want to add a line at the beginning and at the end of a file.. e.g. echo "at the beginning.." > tmp_file && cat file >> tmp_file && echo "last line" >> tmp_file && mv tmp_file file is there a nice way for doing that?? Thx (2 Replies)
Discussion started by: andy2000
2 Replies
Login or Register to Ask a Question