Puncte:0

Cum se creează un fișier cu următoarea structură?

drapel fj

Luați în considerare următoarele rânduri:

E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
U GEV MM
V -1 0 0 0 0 0 0 1 0
P 1 535 0,000000000000000e+00 0,000000000000000e+00 1,33300000000000e+00 1,036606429653994e 00000000000000000000000000000000000

unde i variază de la 0 la 100000.

As dori sa fac fisierul compus din astfel de randuri, i.e.

E 1 -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
U GEV MM
V -1 0 0 0 0 0 0 1 0
P 1 535 0,000000000000000e+00 0,000000000000000e+00 1,33300000000000e+00 1,036606429653994e 00000000000000000000000000000000000
E 1 -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
U GEV MM
V -1 0 0 0 0 0 0 1 0
P 1 535 0,000000000000000e+00 0,000000000000000e+00 1,33300000000000e+00 1,036606429653994e 00000000000000000000000000000000000
E 2 -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
    U GEV MM
    V -1 0 0 0 0 0 0 1 0
    P 1 535 0,000000000000000e+00 0,000000000000000e+00 1,33300000000000e+00 1,036606429653994e 00000000000000000000000000000000000
...

Imi poti spune te rog cum pot face asta?

Abordarea mea începe de la crearea unui fișier script în care tast,

atingeți fișierul.txt
pentru i în {0.. 100000}; 
do echo 'E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.000000000000000e+00 0 0 1 0 0 0 0' >> fisier.txt;
echo 'U GEV MM' >> file.txt
echo '-1 0 0 0 0 0 0 1 0' >> file.txt
echo 'P 1 535 0,0000000000000000e+00 0,0000000000000000e+00 1,333000000000000e+00 1,036606429660000000000000000000000000000000000000000000000000000.
Terminat

Dar în mod clar este ceva în neregulă, deoarece i rămâne ca i în fișierul generat, iar numărul de șiruri este mult mai mic decât era de așteptat (4*100000).

Puncte:3
drapel cn

Doriți să mențineți numărul de apariții din interiorul buclei la un nivel minim (deschiderea și închiderea fișierului.txt 100K x4 va stresa cu adevărat sistemul dvs. fără niciun motiv întemeiat).

#!/bin/bash

declara -a a
i=0
în timp ce ((i++ < 100000)); do
    a+=("E $i -1 -1.0000000000000000e+00 -1.000000000000000e+00 -1.000000000000000e+00 0 0 1 0 0 0 0 0" '0 0 '0 '0 0 0 0 0 0 0 0 0 0 P 1 535 0,000000000000000e+00 0,0000000000000000e+00 1,333000000000000e+00 1,036606429653994e 000000000000000000000000000000000000000
Terminat
printf „%s\n%s\n%s\n” „${a[@]}” > fișier.txt
drapel fj
Mulțumiri! Totuși, rămân așa cum sunt în șir.
bac0n avatar
drapel cn
eu nu urmaresc?
drapel fj
ieșirea mea este E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0 U GEV MM -1 0 0 0 0 0 0 1 0 P 1 535 0,000000000000000e+00 0,000000000000000e+00 1,33300000000000e+00 1,036606429653994e 00000000000000000000000000000000000 E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
drapel fj
Adică, i nu este înlocuit cu numărul întreg.
bac0n avatar
drapel cn
nu l-am văzut `"'E $i -1 -1.0000000000000000e+00..."` acesta este singurul `i`
bac0n avatar
drapel cn
acest lucru va merge de la 0 la 999999, puteți, de asemenea, să faceți `i=1` și să utilizați `

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.