gpt4 book ai didi

linux - Bash 脚本 Awk 条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:45 25 4
gpt4 key购买 nike

我对这段代码有疑问.. 我无法弄清楚我必须写什么作为使用 awk 剪切我的文件的条件。

i=0    
while [ $i -lt 10 ]; #da 1 a 9, Ap1..Ap9
do

case $i in
1) RX="54:75:D0:3F:1E:F0";;
2) RX="54:75:D0:3F:4D:00";;
3) RX="54:75:D0:3F:51:50";;
4) RX="54:75:D0:3F:53:60";;
5) RX="54:75:D0:3F:56:10";;
6) RX="54:75:D0:3F:56:E0";;
7) RX="54:75:D0:3F:5A:B0";;
8) RX="54:75:D0:3F:5F:90";;
9) RX="D0:D0:FD:68:BC:70";;
*) echo "Numero invalido!";;
esac
echo "RX = $RX" #check
awk -F, '$2 =="$RX" { print $0 }' File1 > File2[$i] #this is the line!
i=$(( $i + 1 ))
done

命令 echo 打印正确,但是当我在 AWK 中使用相同的“$RX”作为条件时,它不起作用(它打印空白页)。我的文件 1:

1417164082794,54:75:D0:3F:53:60,54:75:D0:3F:1E:F0,-75,2400,61417164082794,54:75:D0:3F:56:10,54:75:D0:3F:1E:F0,-93,2400,41417164082794,54:75:D0:3F:56:E0,54:75:D0:3F:1E:F0,-89,2400,41417164082794,54:75:D0:3F:5A:B0,54:75:D0:3F:1E:F0,-80,2400,41417164082794,54:75:D0:3F:53:60,54:75:D0:3F:1E:F0,-89,5000,2

你能告诉我“awk -F ...”的正确表达吗

非常感谢!

最佳答案

要将变量从 shell 传递到 awk,请使用 -v:

awk -F, -v R="$RX" '$2 ==R { print $0 }' File1 > File2[$i]

关于linux - Bash 脚本 Awk 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29388654/

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