返回顶部
首页 > 资讯 > 精选 >awk中system()函数的用法
  • 604
分享到

awk中system()函数的用法

2023-06-09 20:06:53 604人浏览 独家记忆
摘要

这篇文章主要讲解了“awk中system()函数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“awk中system()函数的用法”吧!以下是本着我想法写的awk脚本:代码如下:#!/b

这篇文章主要讲解了“awk中system()函数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“awk中system()函数的用法”吧!

以下是本着我想法写的awk脚本:

代码如下:


#!/bin/awk -f
{
  if(system("curl -o /dev/null -s -w %{Http_code}" $1)~/^[2|3]/){
    print ":$1"
  } else {
    print ":http://www.baidu.com/"
  }
}

但是再度让我郁闷的事情接连发生。

第一,不管我在{}中进行什么操作,程序都把system()的结果print出来了;

第二,即使system()的结果是200,print出来的也是else{}的”http://www.baidu.com”;而如果我直接试验if(200~/^[2 3]/){}else{},结果就很正常!

试验过程如下:

代码如下:


[rao@localhost ~]$ echo "http://www.Google.com"|awk '{if(200~/^[2|3]/){ print ":"$1 } else{ print ":http://www.baidu.com/"}}'
:http://www.google.com
[rao@localhost ~]$ echo "http://www.google.com"|awk '{if(system("curl -o /dev/null -s -w %{http_code} "$1)~/^[2|3]/){print ":"$1 } else{ print ":http://www.baidu.com/"}}'
200:http://www.baidu.com/

思前想后,在百度大婶的帮助下,终于搞明白一个问题:system()的结果是直接返回给shell显示了,然后再由awk继续执行后面的程序,这种情况下,if()里留下的其实是system()的执行状态【即0或1】”0”~/^[2 3]/,当然就一直执行else了。

糟糕的问题是awk的getline,无法直接把system()的执行结果导入awk的变量…除非我先system里>一个文件,然后getline<这个文件。MyGod!

而如果采用while(“curl” getline var)的执行方式,如何传递shell变量进去又成了问题……唉

感谢各位的阅读,以上就是“awk中system()函数的用法”的内容了,经过本文的学习后,相信大家对awk中system()函数的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: awk中system()函数的用法

本文链接: https://lsjlt.com/news/257674.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • awk中system()函数的用法
    这篇文章主要讲解了“awk中system()函数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“awk中system()函数的用法”吧!以下是本着我想法写的awk脚本:代码如下:#!/b...
    99+
    2023-06-09
  • awk中让人郁闷的system()函数
    发现一个特尴尬的事实。我辛辛苦苦去百度资料,想用rewrite实现针对不同域名源站故障后的自动跳转功能,但整个思路里遗漏了一个严重的问题。 按我的思路,针对请求的url进行一次curl,然后根据http_c...
    99+
    2022-06-04
    让人 函数 郁闷
  • Linux里awk中split函数的用法小结
    The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep. set time...
    99+
    2022-06-04
    小结 函数 Linux
  • system()函数用法详解
    system()函数用法:1、直接调用system()函数,传入要执行的系统命令字符串;2、system()函数的返回值表示系统命令的执行结果,可以利用这个返回值来判断命令的执行结果,进而采取相应处理措施;3、system()函数可以接受命...
    99+
    2023-08-17
  • python中system函数怎么用
    这篇文章主要为大家展示了“python中system函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中system函数怎么用”这篇文章吧。s...
    99+
    2024-04-02
  • awk中ord函数如何使用
    这期内容当中小编将会给大家带来有关awk中ord函数如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在awk中并未直接提供ord函数,所以在将某个字符转换为码时,需要自己来实现代码如下:awk &#...
    99+
    2023-06-09
  • 如何在linux中使用awk函数
    如何在linux中使用awk函数 ?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、算术函数:以下算术函数执行与 C 语言中名称相同的子例程相同的操作:函数名说明atan2( ...
    99+
    2023-06-13
  • php中system函数有什么用
    小编给大家分享一下php中system函数有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中system函数用于执行外部程序,并且显示输出,其使用语法...
    99+
    2023-06-22
  • C++ system()函数的常用用法(全网最新)
    目录一.推荐:1. system("pause")2. system("color *")3.system("title *&quo...
    99+
    2023-01-05
    C++ system函数 C++ system函数用法
  • 怎么在linux中使用system函数
    这期内容当中小编将会给大家带来有关怎么在linux中使用system函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。system(执行shell 命令) 相关函数 fork,execve,waitpid...
    99+
    2023-06-13
  • C语言system函数使用方法详解
    目录函数接口作用返回值测试代码参数MODE命令color命令函数接口 _DCRTIMP int __cdecl system( _In_opt_z_ char ...
    99+
    2024-04-02
  • Linux中“awk”命令的用法
    Linux中“awk”命令的用法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符...
    99+
    2023-06-05
  • Linux中的awk数组的基本使用方法
    1.awk数组描述 在其他的编程语言中,数组的下标都是从0开始的,也就是说,如果想反向引用数组中 的第一个元素,则需要引用对应的下标[0],在awk中数组也是通过引用下标的方法,但是在awk中数组的下标是从1开始的,在其...
    99+
    2022-06-04
    linux awk 数组 awk 数组使用
  • C语言的system函数怎么使用
    这篇“C语言的system函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言...
    99+
    2024-04-02
  • c语言函数system怎么调用
    在C语言中,可以使用`system()`函数来调用系统命令。`system()`函数的原型如下:```cint system(con...
    99+
    2023-10-11
    c语言
  • Linux中 sed 和 awk的用法详解
    sed用法: sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: ...
    99+
    2022-06-04
    详解 Linux sed
  • Shell脚本中awk指令的用法
    语法格式:awk [选项]  '指令'  操作文件 常用选项:-F  指定分隔符,分隔符用""引起来 -v:var=value在awk程序开始之前指定一个值valu给变量var,这些变...
    99+
    2022-06-04
    shell脚本awk指令 shell脚本中awk指令的用法
  • Linux中awk的使用方法详解
    在学习awk之前我们应该都学过sed,grep,tr,cut等等命令,这些命令都是为了方便我们对linux下文本和数据的处理,但是我们会发现很多时候这些命令并不能一下子就完全解决我们的需求,很多时候我们都需要使用管道符结...
    99+
    2022-06-04
    Linux awk命令 linux中awk工具的使用 awk 入门教程
  • linux中awk命令的使用方法
    今天就跟大家聊聊有关linux中awk命令的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。awk脚本如下BEGIN {FS=":";OFS=&q...
    99+
    2023-06-09
  • Linux中awk语法怎么使用
    本篇内容介绍了“Linux中awk语法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!awk简介与表达式实例一种名字怪异的语言模式扫描...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作