嗨朋友我需要用awk替换搜索模式中的变量,我正在阅读所有相似的问题,但没有解释如何在“搜索模式”中使用变量。 awk命令的基本格式是:
awk '/search_pattern/ { action_to_take_on_matches; another_action; }' file_to_parse
问题我有一个简单的搜索脚本,来自一个网站。 ¿如何将变量的“nodejs”替换为“搜索模式”?
这是我在bash中的脚本(工作但我不能在awk中使用变量)
#!/bin/sh
searchname=nodejs
mojito=$(curl https://launchpad.net/ubuntu/+ppas?name_filter=$searchname | awk -F/ '/>nodejs</{print $2}')
echo $mojito
答案 0 :(得分:1)
您可以尝试此awk
,
awk -v patt="$searchname" '$0 ~ patt{ print $0}'
<强>测试强>
sat:~# searchname="nodejs"
sat:~# echo -e "sample text\nthis have nodejs value" | awk -v patt="$searchname" '$0 ~ patt{ print $0}'
this have nodejs value