Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 如何在Bash脚本中将字符串作为参数传递给AWK大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文本文件,我想过滤
使用awk.文本文件如下所示:

foo 1
bar 2
bar 0.3
bar 100
qux 1033

我想在bash脚本中使用awk过滤这些文件.

#!/bin/bash

#input file
input=myfile.txt

# I need to pass this as parameter
# cos later I want to make it more general like
# coltype=$1
col1type="foo"   

#Filters
awk '$2>0 && $1==$col1type' $input

但不知怎的,它失败了.什么是正确的方法呢?

解决方法

你需要双引号来允许变量插值,这意味着你需要用反斜杠转义其他美元符号,这样就不会插入$1和$2.你还需要围绕“$col1type”的双引号.

awk "\$2>0 && \$1==\"$col1type\""

大佬总结

以上是大佬教程为你收集整理的linux – 如何在Bash脚本中将字符串作为参数传递给AWK全部内容,希望文章能够帮你解决linux – 如何在Bash脚本中将字符串作为参数传递给AWK所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: