How can I read a single line from a text file using bash?

  • Thread starter Thread starter Euclid
  • Start date Start date
  • Tags Tags
    Automated files
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 3K views
Euclid
Messages
213
Reaction score
0
I want to write a script that will automatically backup my documents to a remote computer. I have a lot (~500 MB) of files, so I only want the files to be backed up when a newer version exists.

Short version of the question: how do I read a single line from a text file using bash?

Long version of the question:
Here is the plan for the script...

#!/bin/bash
ssh remoteComputer # connect to remote comp
find ~/Documents * > files.txt #find all files in documents and write to files.txt
line=1
fileLength = (number of lines if files.txt)
while [line -lte fileLength]
do
(put filename at the lineth line to the string fileName)
if fileName -nt remoteComputer:~/Documents/fileName
#go through all files and
#check to see if remoteComputer has the
#latest version of this file already
scp line to remoteComputer
#if so, update file
fi
line=$[$line+1]
done
exit #leave ssh session

The exact implementation is what I need help on. If I could read files.txt line by line this would be very easy, but I can't figure it out!
 
Physics news on Phys.org
You should look at rsync, it not only does this but can copy just the parts of files that have changed.
 
That's just too easy! Thanks mgb_phys!