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

相关推荐

  • FireMonkey3D之中国象棋程序,二)制定规则

    技术FireMonkey3D之中国象棋程序,二)制定规则 FireMonkey3D之中国象棋程序(二)制定规则声明:本程序设计参考象棋巫师源码(开发工具dephi 11,建议用delphi 10.3以上

    礼包 2021年12月13日
  • 酵母粉是什么,干酵母粉的主要成分是什么

    技术酵母粉是什么,干酵母粉的主要成分是什么干酵母粉的主要成分是B族维生素酵母粉是什么、及叶酸、肌醇、转化酶、麦芽糖酶等。干酵母又称酵母,为麦酒酵母或葡萄汁酵母的干燥菌体。其富含的B族维生素是体内酶系统的重要组成物质,及叶

    生活 2021年10月25日
  • 朋友圈一条线,微信朋友圈一道横杠是什么意思

    技术朋友圈一条线,微信朋友圈一道横杠是什么意思1、这种情况可能有三种原因朋友圈一条线: 1)是对方设置了“不让他(她)看我的朋友圈”权限导致的。 2)可能是被对方删除了好友,并且关闭了“允许陌生人查看十张照片”的开关。

    生活 2021年10月30日
  • 午餐肉怎么吃,火腿肠和午餐肉的区别在哪里

    技术午餐肉怎么吃,火腿肠和午餐肉的区别在哪里午餐肉和火腿肠的区别 很多妈妈都分不清火腿肠与午餐肉,觉得都差不多,但其实他们有很大的不同午餐肉怎么吃。午餐肉是一种罐装的压缩肉糜大多用猪肉或牛肉等肉类来做。在吃的时候,把午餐

    生活 2021年10月26日
  • 没有sa密码无法集成windows身份验证登录的解决方法

    技术没有sa密码无法集成windows身份验证登录的解决方法今天就跟大家聊聊有关没有sa密码无法集成windows身份验证登录的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这

    攻略 2021年12月1日
  • 什么是java非公平锁

    技术什么是java非公平锁这篇文章主要介绍“什么是java非公平锁”,在日常操作中,相信很多人在什么是java非公平锁问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是java非公平锁”

    攻略 2021年10月20日