bash - how can I replace a line containing variables? -


i have bash script , want use replacing lines string , add date end of line:

#! /bin/bash  today=`date '+%y_%m_%d__%h_%m_%s'`;  sed -i '3s/.*/config_localversion=/' ~/desktop/file1 file2 ... 

also, can range of files start string "file"?

to use variable expansion in bash, variables must non-quoted or double-quoted. single quotes prevent expansion. on other hand, you'd want avoid expansion of * in 3s/.*/ in case have directory 3s containing files starting ..

fortunately, can chain strings together, can do

#!/bin/bash  today=$(date '+%y_%m_%d__%h_%m_%s');  sed -i '3s/.*/config_localversion='"$today"'/' ~/desktop/file{1,2,foo} 

and can range of file start string "file" ?

the ~/desktop/file{1,2,foo} expand ~/desktop/file1 ~/desktop/file2 ~/desktop/filefoo. if instead want match files on desktop name starting 'file', use ~/desktop/file* instead.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -