我正在学习bash脚本并尝试使用awk从一个文件中查找一个或两个单词,然后用awk中保存的单词替换模板文本文件中的占位符。看起来像这样:
echo "What's the class name?"
read $CLASS
然后使用该类作为模式来查找特定的行和列:
NAME=$(awk '/$CLASS/ {print $2}' info.txt
并用SED替换模板中的单词:
sed -i 'a/Name/$NAME/g' $FILE
我需要为模板的几个不同列和不同部分执行此操作,因此我无法将整个awk命令保存在变量中。就像现在一样,它是整个列,而不仅仅是从模式开始的行。 (所以我得到一堆名字而不是一个名字)
我已经尝试了一百万种方法,似乎无法让它正常工作。任何见解?这是我第一篇Stack Overflow的帖子! :)
编辑:我收到信息的文件看起来像这样:
stac1000 Joe 700
dbas1400 Sally 701
prog 1200 Rick 702
我正在替换值的模板文件是封面模板。我将其复制到一个新文件,然后将以下值替换为info文件中的值。目的是能够制作几个看起来相同但信息文本中不同行的不同信息的文件:
Class
Name
Section