怎么让awk使用 Shell 变量

技术怎么让awk使用 Shell 变量这篇文章给大家分享的是有关怎么让awk使用 Shell 变量的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有两种可能的方法可以让 awk 使用 shell

这篇文章是关于如何让awk使用Shell变量。我觉得边肖挺实用的,就分享给大家参考,和边肖一起来看看。

awk使用外壳变量有两种可能的方式:

1. 使用 Shell 引用

让我们用一个例子来演示如何在awk命令中使用外壳引用而不是外壳变量。在本例中,我们希望在文件/etc/passwd中搜索用户名,过滤并输出用户的帐户信息。

因此,我们可以编写一个包含以下内容的test.sh脚本:

#!/bin/bash###读取用户名read-p '请输入用户名:' username###在/etc/passwd中搜索用户名,然后在屏幕上输出详细信息cat/etc/passwd | awk '/$ username/' { print $ 0 } '。然后保存文件并退出。

以上test.sh脚本中awk命令的解释:

cat/etc/passwd | awk '/$ username/' ' { print $ 0 } ' '/$ username/':此shell引用了用于替换awk命令中shell变量username的值。username的值是要在文件/etc/passwd中搜索的模式。

请注意,双引号位于awk脚本“{print $0}”之外。

接下来,向脚本添加可执行权限并运行它,如下所示:

$chmod xtest.sh$。/text.sh运行脚本后,它会提示您输入用户名,然后您输入合法用户名并按回车键。您将从/etc/passwd文件中看到详细的用户帐户信息,如下图所示:

怎么让awk使用 Shell  变量

在密码文件中查找用户名的Shell脚本。

2. 使用 awk 进行变量赋值

与上面介绍的方法相比,这种方法更简单、更好。考虑到上面的例子,我们可以运行一个简单的命令来完成同样的任务。在这个方法中,我们使用-v选项将shell变量的值赋给awk变量。

首先,创建一个shell变量username,然后给它一个我们想要在/etc/passwd文件中搜索的名称。

Username='aaronkilik '然后输入以下命令并按enter键:

# cat/etc/passwd | awk-vname=' $ username ' ' $ 0 ~ name { print $ 0 } '怎么让awk使用 Shell  变量

使用awk在密码文件中查找用户名。

上述命令的描述:

声明变量的-v: awk选项之一。

Username:是一个shell变量。

Name:是一个awk变量。

让我们仔细看看awk脚本“$0 ~ name {print $0}”中的$0 ~ name。请记住,当我们在awk系列的第四部分中引入awk比较运算符时,value ~ pattern是比较运算符之一,这意味着如果value与pattern匹配,它将返回true。

通过管道传输到awk的cat命令的输出($0)与模式(aaronkilik)匹配,该模式是我们在/etc/passwd、* * *中搜索的名称,比较操作返回true。接下来,屏幕上将输出一行包含用户帐户信息的内容。

感谢阅读!我希望这篇关于“如何让awk使用Shell变量”的文章就在这里。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50271.html

(0)

相关推荐

  • 如何卸载软件,怎样卸载软件才能把软件卸载干净

    技术如何卸载软件,怎样卸载软件才能把软件卸载干净要保证卸载软件时彻底干净、没有残留,可以使用软件管家来卸载如何卸载软件。 由于有些应用软件在安装后,会在注册表中注册,同时还会自动生成附属的文件夹,在系统的控制面板中卸载软

    生活 2021年10月30日
  • 桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么

    技术桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么要搞清楚真丝与桑蚕丝的区别,首先要知道什么是真丝,什么是桑蚕丝。桑蚕丝是一种人工养殖的以桑叶为食物的动物桑蚕所吐的丝纤维,主要成分是蛋白质,里面含有十八种对人体有益的氨基酸

    生活 2021年10月26日
  • 如何使用Cython为Python编写更快的C扩展

    技术如何使用Cython为Python编写更快的C扩展本篇文章为大家展示了如何使用Cython为Python编写更快的C扩展,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在我们这

    攻略 2021年10月26日
  • 如何进行C#打印设置实现源码的分析

    技术如何进行C#打印设置实现源码的分析本篇文章为大家展示了如何进行C#打印设置实现源码的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#打印设置是如何在实际编程开发中体现的

    攻略 2021年11月24日
  • 如何停止weblogicserver应用(weblogicserver是什么)

    技术新部署的WebLogicServer无法访问怎么解决本篇内容主要讲解“新部署的WebLogicServer无法访问怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“新

    攻略 2021年12月21日
  • 药剂师是什么,药士和药剂师有什么区别啊

    技术药剂师是什么,药士和药剂师有什么区别啊两者之间没有区别药剂师是什么。 药士即药剂师或药师,是负责提供药物知识及药事服务的专业人员。药剂师负责监察医生所处方的数种药物中有否出现药物相互作用。药剂师的主要职责如下:
    1

    生活 2021年11月1日