有没有一种方法可以在bash脚本中的awk语句中定义用户定义的函数?

雷德森

我认为这个问题说明了一切。我是初学者,所以请告诉我是否可行。如果不是,请给我一个更好的解决方案,因为我的bash脚本在很大程度上取决于某些awk语句,但是大多数脚本都在bash中。我正在使用awkbash脚本中语句比较两个文件基本上检查值是否相同。(请参见下面的文件)

file1.txt

Name  Col1  Col2  Col3 
-----------------------
row1  1     4     7         
row2  2     5     8          
row3  3     6     9

file2.txt

Name  Col1  Col2  Col3   
-----------------------         
row1  1     4     7 
row2  2     5     999

这是我的bash脚本的结构:

#!/bin/bash
.
.
.

awk -F '\t' '
              # skips first two lines
              FNR < 2 {next}                       
              FNR == NR {           
                for (i = 2; i <= NF; i++) {
                  a[i,$1] = $i;      
                }    
                b[$1];           
                next;       
              }

              ($1 in b) {                          

                for (i = 2; i <= NF; i++) 
                {
                   # does something
                }
              }
' file1.txt file2.txt
.
.
.

我有很多重复的代码仅在awk语句中有用,因此我想创建一个放置在awk语句中的函数以避免重复。这可能吗?

让我知道是否需要进一步说明。

三元组

如果您要问如何在多个脚本中重用Awk代码而不将其保存在单独的文件中,则可以定义一个shell字符串并对其进行插值。

awkfn='function foo () { print "Hiya universe" }'

awk -F : "$awkfn"'BEGIN { foo() }'

请注意,您需要如何对变量进行双引号内插,但通常需要在Awk代码中使用单引号。我将双引号字符串紧接在单引号字符串之后(它们之间没有空格),但是还有其他方法可以完成相同的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以直接在字典中定义函数?

来自分类Dev

有没有一种方法可以在单语句SQL查询中定义命名常量/参数?

来自分类Dev

有没有一种方法可以定义bash readline命令?

来自分类Dev

有没有一种方法可以在熊猫聚合函数中创建自定义函数?

来自分类Dev

在bash中,有没有一种方法可以使我的语句简短(if或)?

来自分类Dev

有没有一种方法可以找到SymPy中定义的函数的独立变量?

来自分类Dev

有没有一种方法可以复制SQLAlchemy中的表定义?

来自分类Dev

有没有一种方法可以在Verilog中定义类似C的结构

来自分类Dev

有没有一种方法可以在python库pywhatkit中定义变量?

来自分类Dev

有没有一种方法可以在Stunnel中定义端口范围?

来自分类Dev

有没有一种方法可以在API网址中定义表名称

来自分类Dev

有没有一种方法可以在不使用用户定义函数的情况下在SQL中动态执行查询?

来自分类Dev

有没有一种方法可以在sql中的where子句中使用case语句使用or或=?

来自分类Dev

Kotlin-有没有一种方法可以定义函数的显式范围,而该函数的范围是在伴随对象中定义的接收器?

来自分类Dev

有没有一种方法可以定义具有不同名称的实现的函数?

来自分类Dev

有没有一种方法可以使Bash脚本输入特定的击键?

来自分类Dev

有没有一种方法可以通过函数调用的参数来定义数组?

来自分类Dev

有没有一种方法可以在TinkerGraph上定义架构约束?

来自分类Dev

有没有一种方法可以在Python中定义一个float数组?

来自分类Dev

有没有一种方法可以删除Haskell中重复的where语句?

来自分类Dev

有没有一种方法可以在终端中的c中快速“ man”预定义的结构?

来自分类Dev

有没有一种方法可以在bash脚本中获取用户的SSH客户端IP地址?

来自分类Dev

有没有一种方法可以在一个语句中组合导入和导入?

来自分类Dev

有没有一种方法可以在一个语句中组合导入和导入?

来自分类Dev

有没有一种方法可以在build.sbt中定义所需的sbt版本?

来自分类Dev

有没有一种方法可以使用变量而不需要定义它(在R中)?

来自分类Dev

有没有一种方法可以使用RSpec在模型中测试环境定义的动态验证?

来自分类Dev

有没有一种方法可以在EVE中为项目定义公共投影?

来自分类Dev

有没有一种方法可以在Activiti流程定义中获取任务而不创建流程实例?

Related 相关文章

  1. 1

    有没有一种方法可以直接在字典中定义函数?

  2. 2

    有没有一种方法可以在单语句SQL查询中定义命名常量/参数?

  3. 3

    有没有一种方法可以定义bash readline命令?

  4. 4

    有没有一种方法可以在熊猫聚合函数中创建自定义函数?

  5. 5

    在bash中,有没有一种方法可以使我的语句简短(if或)?

  6. 6

    有没有一种方法可以找到SymPy中定义的函数的独立变量?

  7. 7

    有没有一种方法可以复制SQLAlchemy中的表定义?

  8. 8

    有没有一种方法可以在Verilog中定义类似C的结构

  9. 9

    有没有一种方法可以在python库pywhatkit中定义变量?

  10. 10

    有没有一种方法可以在Stunnel中定义端口范围?

  11. 11

    有没有一种方法可以在API网址中定义表名称

  12. 12

    有没有一种方法可以在不使用用户定义函数的情况下在SQL中动态执行查询?

  13. 13

    有没有一种方法可以在sql中的where子句中使用case语句使用or或=?

  14. 14

    Kotlin-有没有一种方法可以定义函数的显式范围,而该函数的范围是在伴随对象中定义的接收器?

  15. 15

    有没有一种方法可以定义具有不同名称的实现的函数?

  16. 16

    有没有一种方法可以使Bash脚本输入特定的击键?

  17. 17

    有没有一种方法可以通过函数调用的参数来定义数组?

  18. 18

    有没有一种方法可以在TinkerGraph上定义架构约束?

  19. 19

    有没有一种方法可以在Python中定义一个float数组?

  20. 20

    有没有一种方法可以删除Haskell中重复的where语句?

  21. 21

    有没有一种方法可以在终端中的c中快速“ man”预定义的结构?

  22. 22

    有没有一种方法可以在bash脚本中获取用户的SSH客户端IP地址?

  23. 23

    有没有一种方法可以在一个语句中组合导入和导入?

  24. 24

    有没有一种方法可以在一个语句中组合导入和导入?

  25. 25

    有没有一种方法可以在build.sbt中定义所需的sbt版本?

  26. 26

    有没有一种方法可以使用变量而不需要定义它(在R中)?

  27. 27

    有没有一种方法可以使用RSpec在模型中测试环境定义的动态验证?

  28. 28

    有没有一种方法可以在EVE中为项目定义公共投影?

  29. 29

    有没有一种方法可以在Activiti流程定义中获取任务而不创建流程实例?

热门标签

归档