以下是一个示例代码,用于在Golang中执行类似的命令并将字符串作为参数传递给grep:
package mainimport ("fmt""os/exec""strings")func main() {//要搜索的字符串searchStr := "net2"//构造命令cmd := exec.Command("sh", "-c", fmt.Sprintf(`ifconfig | grep -oE '^[^ ]+' |grep "%s\."`, searchStr))//运行命令并获取输出output, err := cmd.CombinedOutput()if err != nil {fmt.Println(err)return}//将输出转换为字符串outStr := string(output)//按行拆分字符串lines := strings.Split(outStr, "\n")//打印每一行输出for _, line := range lines {fmt.Println(line)}}
这个程序和上一个程序非常相似,只有一处不同。在构造命令时,使用了fmt.Sprintf函数来动态生成搜索字符串。这样可以根据需要修改要搜索的内容。
请注意,在使用fmt.Sprintf函数时,必须将searchStr变量放入双引号中。这样才能确保搜索字符串被正确引用,并且在执行命令时正常工作。




