How to concat String, File Contents, and String in bash script?
11,855
Solution 1
One way would be this:
var="key,$(<file.txt),ending"
Solution 2
One possible solution is:
var=$(echo -n 'key,' && cat file.txt | tr '\n' ',' && echo 'ending')
$(...)
gets the output string of the commands in...
echo -n
prints the following string without a trailing newlinecat
prints the file's contents andtr '\n' ','
replaces the trailing newline with a commaecho
prints the following string with newline (which is not really important)
Related videos on Youtube
Author by
FGH
Updated on September 18, 2022Comments
-
FGH over 1 year
I have a file which contains only one line
$> cat file.txt apple,orange,cat,dog
I need to append two String to it and assign it to a variable, one in front and another in the end, so that it becomes:
var=key,apple,orange,cat,dog,ending
so that I can use the $var somewhere else...
May I know how could I do that in bash script? Or any linux command can do that? Thanks.
-
FGH over 10 yearsIt doesn't work... would you please advise if I've done something wrong? As the follow: var=$(echo -n 'KEY,' && cat header-cp-match-src-file.csv | tr '\n' ',' && echo 'ID_BB_COMPANY,BB_CONAME,ID_BB_PARENT_CO,LONG_PARENT_COMP_NAME,COMPANY_CORP_TICKER,AVG_SIM_SCORE')
-
Tim over 10 yearsHow should I know if you are doing something wrong, if you do not even post the contents of
$var
. I suggest you first try with your sample file and specifications from your question and test, if this gives the desired result. Then try with your original data and strings.