আপনি কেন এটি করেন তা আমি জানি না তবে এখানে আপনার দুটি টেম্পলেট রয়েছে। একটি হ'ল আপনার 'ডাটাবেস' এবং একটি হ'ল আপনার আসল টেম্পলেট। উভয়ই shtpl দিয়ে হ্যান্ডেল করা সহজ । (আমার বেসরকারী প্রকল্প, তাই বহুল ব্যবহৃত হয় না, তবে আসলে সেই ধরণের সমস্যা সমাধানের জন্য তৈরি করা হয়েছিল)
Shtpl দিয়ে আপনি এরকম কিছু করবেন:
ফাইল 'কনফিগারেশন' এর সামগ্রী:
template_main=main.txt
template_other=other.txt
text1=whatever
text2=blah
ফাইল 'ডাটাবেস' এর সামগ্রী (আমি ধরে নিয়েছি, ডিলিমিটারটি ট্যাব () t)):
#% . "$CONFFile"
#% if [ -z "$template_main" ] || [ -z "$template_other" ] || \
#% [ -z "$text1" ] || [ -z "$text2" ]; then
#% printf "database could not be generated!\n" > /dev/stderr
#% exit 1
#% fi
#%# outputfile template data1 data2 data3
first.txt $template_main $text1 abcd 1234
second.txt $template_main $text2 efgh 5678
third.txt $template_other $text1 ij 90
জেনারেটটেম্পলেট.শ এর সামগ্রী:
#!/bin/bash
if [ ! -s "$CONFFile" ]; then
if [ ! -s "$1" ]; then
printf "CONFfile is not set or empty!\n"
exit 1
else
export CONFFile="$1"
fi
fi
DB="$( bash -c "$( shtpl database )" )"
if [ -z "$DB" ]; then
printf "Database is empty! Abort.\n"
exit 2
fi
IFS=$'\t'
printf "%s" "$DB" | while read "Out" "In" "data1" "data2" "data3"; do
data1="$data1" data2="$data2" data3="$data3" \
bash -c "$( shtpl "$In" )" > "$Out"
done
Main.txt এর সামগ্রী (other.txt বেশ একই রকম):
main.txt template
$data1
$data2
$data3
সুতরাং জেনারেটটেম্প্লেটস.এসকে কার্যকর করা হচ্ছে
$ bash generatetemplates.sh "./configuration"
আমাদের প্রথম। txt, দ্বিতীয়। txt এবং তৃতীয়.txt উত্পন্ন করে।
$ cat first.txt | $ cat second.txt | $ cat third.txt
main.txt template | main.txt template | other.txt template
whatever | blah | whatever
abcd | efgh | ij
1234 | 5678 | 90
সামান্য ব্যাখ্যা: জেনারেটেম্প্লেটস.শ প্রথমে আপনার কনফিগারেশন-ফাইল থেকে প্রয়োজনীয় 'ডাটাবেস' তৈরি করা হয়। এবং দ্বিতীয়ত, ডাটাবেসের প্রতিটি টিপেলের জন্য অবশেষে আপনার ইন-টেম্পলেট থেকে সম্পর্কিত আউট-ফাইল।
দ্রষ্টব্য: একটি খালি তথ্য [123] পড়তে সমস্যা troubles সুতরাং এই পদ্ধতির মাধ্যমে এটি সম্ভব নয়।
সুতরাং, আশা করি এটি আপনার প্রয়োজনের জন্য যথেষ্ট সহজ।
আনন্দ কর!