Puncte:0

script bash: de ce testul verifică mai mult decât potrivirile exacte?

drapel au
j0h

Încerc să fac HAL 9000. Am un fișier care conține „dialog” din film, și o listă de cuvinte care conține cuvinte în EEPROM, în locațiile lor de memorie respective și cipuri în care cuvintele se află în memorie. Am scris un script bash care citește dialogul filmului și ar trebui să scoată adresele de memorie și cipurile. Se pare că funcționează atunci când cuvintele sunt mai lungi de o literă.Când cuvintele au o literă (adică: i, a), se pare că iese fiecare caz în care litera se găsește într-un cuvânt. Scriptul bash:

#!/bin/bash
#Read dialog obține cuvântul pe o linie, apoi găsește locația de memorie și cip este pornit
#rec_column2 este adresa din cip pentru cuvânt 
#cs=Chip Select, valoarea lui rec_column3
#wordlist este biblioteca xlsx convertită prin: for i în *.xlsx; do libreoffice --headless --convert-to csv "$i" ; Terminat
#apoi pune toate litere mici pentru că nu știu cum să compar valori care diferă doar după caz
#comandă folosită: tr '[:upper:]' '[:lower:]' < input.csv > wordlist.csv
input="dialog"
în timp ce IFS= citește linia -r
do

în timp ce IFS="," citește -r rec_column1 rec_column2 rec_column3 
do
dacă testul „$line” = „$rec_column1”
    atunci
           echo "// " $line " , " $rec_column1 " :: " $rec_column2 ", " $rec_column3
           
           #echo "digitalWrite($rec_column3,LOW);"
           #echo "SPI.transfer($rec_column2);"
           #echo "digitalWrite($rec_column3,HIGH);"
           #echo "delay(850);"     
fi

facut < lista de cuvinte.csv

terminat < $input

[cuvintele care nu se află în bibliotecă nu au rezultate1

Lista de cuvinte, cu locații de memorie este Aici. Dialogul pentru HAL 9000 este Aici. așa că din nou, în cazul în care cuvântul are mai mult de o literă, scenariul pare să funcționeze. de ce verifică literele individuale față de fiecare cuvânt care conține acea literă? cum sa nu fac asta? ieșire

j0h avatar
drapel au
j0h
atât de ciudat, asta a fost postat pe computerul meu și am văzut că a postat legitim. acum am venit cu o soluție, iar postarea este anulată.
muru avatar
drapel us
Vă rugăm să nu postați capturi de ecran de text. Copiați textul aici și utilizați formatarea codului.
j0h avatar
drapel au
j0h
@muru, există un mod de comparare a textului pentru codare? Încerc să arăt comparația dintre intrare și ieșire. Am crezut că să le despart ar fi mai confuz.
muru avatar
drapel us
Blocul de cod normal este în regulă, păstrați-le în două blocuri de cod separate.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.