gpt4 book ai didi

linux - awk 或 perl one liner + 使用 awk one liner 命令验证数组值

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:48 26 4
gpt4 key购买 nike

请指教如何用awk/perl one liner命令行验证以下内容

我想检查 DATA_ARRAY 数组中的值是否恰好是 120,如果一个或多个值与 120 不同,则 awk 将给出 false

例如

如果所有值都是 120,awk 将给出 TRUE

echo ${DATA_ARRAY[*]}
120 120 120 120

如果一个或多个值不同于 120,awk 将返回 FALSE

echo ${DATA_ARRAY[*]}
120 120 115 120

最佳答案

$ echo "${DATA_ARRAY[*]}" | awk '$1!=val{print "error"}' RS=' ' val="120"

--编辑--

$ echo "${DATA_ARRAY[*]}" | awk '!f && $1!=val{print "False"; f=1}END{if(!f)print "True"}' RS=' ' val="121"

对于变量

$ my_variable=$(echo "${DATA_ARRAY[*]}" | awk '!f && $1!=val{print "False"; f=1}END{if(!f)print "True"}' RS=' ' val="120")

测试

[akshay@aix tmp]$ DATA_ARRAY=(120 120 120 120)
[akshay@aix tmp]$ my_variable=$(echo "${DATA_ARRAY[*]"} | awk '!f && $1!=val{print "False"; f=1}END{if(!f)print "True"}' RS=' ' val="120")
[akshay@aix tmp]$ echo $my_variable
True

[akshay@aix tmp]$ DATA_ARRAY=(120 120 120 125)
[akshay@aix tmp]$ my_variable=$(echo "${DATA_ARRAY[*]}" | awk '!f && $1!=val{print "False"; f=1}END{if(!f)print "True"}' RS=' ' val="120")
[akshay@aix tmp]$ echo $my_variable
False

关于linux - awk 或 perl one liner + 使用 awk one liner 命令验证数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com