怎么让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)

相关推荐

  • 如何进行VSFTP+MySQL虚拟用户配置

    技术如何进行VSFTP+MySQL虚拟用户配置本篇文章为大家展示了如何进行VSFTP+MySQL虚拟用户配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  VSFTPD是一种在

    攻略 2021年11月20日
  • 自己吊顶方法图解,塑料扣板吊顶怎么安装图解

    技术自己吊顶方法图解,塑料扣板吊顶怎么安装图解1、确定吊顶安装位置在安装之前,我们需要先明确它的安装位置以及安装高度,这样在安装时才不会手忙脚乱,才能提高安装效率自己吊顶方法图解。 当我们确定好安装高度后,需要用墨线在四

    生活 2021年10月27日
  • 木瓜的功效,木瓜的功效是怎么样的呢

    技术木瓜的功效,木瓜的功效是怎么样的呢木瓜木瓜的功效,在平时的日常生活中我们多食用它,不仅可以在一定的程度上治疗我们人体的消化不良以及口干舌燥等不适。而且对我们平时所患的下肢水肿还有脚气等这些症状都有一定的治疗效果。

    生活 2021年10月27日
  • idea 远程debug

    技术idea 远程debug idea 远程debug1.pom.xml里配置jvmArguments参数 -Xdebug -Xrunjdwp:transport=dt_socket,address=5

    礼包 2021年11月26日
  • java如何彻底理解volatile(java关键字volatile三种用法)

    技术Java Volatile关键字如何理解Java Volatile关键字如何理解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。正文在谈

    攻略 2021年12月21日
  • 怎么解决Mysql中的Last_SQL_Error: 1594报错问题

    技术怎么解决Mysql中的Last_SQL_Error: 1594报错问题这篇文章主要介绍“怎么解决Mysql中的Last_SQL_Error: 1594报错问题”,在日常操作中,相信很多人在怎么解决Mysql中的Las

    攻略 2021年11月18日