我正在编写一个简单的bash循环,我使用awk从文件中获取行。模式在循环中迭代。我可以让程序正常工作,直到我尝试将符号添加到awk中用于搜索模式的变量
list="cat dog"
for k in $list
do
vark="$k"
awk '/'$vark'/{print RS $0}' RS=\> FILE1 > FILE2
done
但是当我尝试添加符号“|”时,“<”和“_”到循环中断的变量。我已尝试使用多个分隔符作为符号,但似乎无法将其正确地将符号集成到变量中。
list="cat dog"
for k in $list
do
vark="$k"
varkk="|$k>_"
awk '/'$varkk'/{print RS $0}' RS=\> FILE1 > FILE2
done
非常感谢你的帮助!
答案 0 :(得分:0)
将shell / bash变量传递给Thread Create
的正确方法是使用awk
选项,例如-v
发件人强>
-v varname="$shell_var"
要强>
awk '/'$varkk'/{print RS $0}' RS=\> FILE1 > FILE2
您也可以使用awk -v regexp="$vark" -v RS='\>' '$0 ~ regexp{print RS $0}' FILE1 > FILE2
本身
awk