1
对不起,混淆你,打印字段到终端命令
很好,其实我想发送串行消息,我的Arduino被连接到/ dev/ttyACM0,它可以通过键入此命令到终端
完成$ echo "Hello Arduino" > /dev/ttyACM0
所以,我需要我的awk发送一个像这样的命令。
这里是我的PBH.awk文件:
BEGIN{
FS = "[ .]";
RS = "\0";
IGNORECASE = 1;
}{
for (i=1;i<NF;i++){
if(i == 1){
printf("Diketahui : %s\n",$18);}
if($i=="y" && $(i+1)=="=")
{
printf(" Persamaan : %s %s %s %s %s %s %s %s %s %s %s\n",$(i),$(i+1),$(i+2),$(i+3),$(i+4),$(i+5),$(i+6),$(i+7),$(i+8),$(i+9),$(i+10))
inisialisasi = "stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
kirim = "echo \"Field2 contains: $2""\" > /dev/ttyACM0"
print | inisialisasi
print | kirim
}
}
}
这里是soalPBH.txt:
Persamaan gelombang berjalan pada seutas tali dinyatakan dengan y = 0,02 sin (20 π t – 0,2 π x). Jika x dan y dalam cm dan t dalam sekon, tentukan:
然后我跑我的awk与
$ awk -f PBH.awk soalPBH.txt
我的程序犯规发送字段号为2的文字。 这是否有问题?
kirim = "echo \"Field2 contains: $2""\" > /dev/ttyACM0"
我没有看到你在代码中的任何地方调用'awk'。 'echo'是一个shell命令。 'print'和'printf(“%s ...”,$ 1,$ 2,...)是用于写入输出的'awk'方法。祝你好运。 – shellter
对不起,我在那里添加了我的完整代码 – user2588680