Điểm:0

Làm cách nào để tạo một tệp có cấu trúc như sau?

lá cờ fj

Hãy xem xét các hàng sau:

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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0

trong đó tôi nằm trong khoảng từ 0 đến 100000.

Tôi muốn tạo tệp bao gồm các hàng như vậy, tức là

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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0
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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0
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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0
...

Bạn có thể vui lòng cho tôi biết làm thế nào tôi có thể làm điều này?

Cách tiếp cận của tôi bắt đầu từ việc tạo một tệp kịch bản mà tôi nhập vào,

chạm vào tệp.txt
cho tôi trong {0.. 100000}; 
do echo 'E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0' >> file.txt;
tiếng vang 'U GEV MM' >> file.txt
tiếng vang '-1 0 0 0 0 0 0 1 0' >> file.txt
echo 'P 1 535 0.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.0280000000000000 0e+01 .txt >> tệp
xong

Nhưng rõ ràng có điều gì đó không ổn, vì tôi vẫn giữ nguyên như trong tệp được tạo và số lượng chuỗi nhỏ hơn nhiều so với dự kiến ​​(4*100000).

Điểm:3
lá cờ cn

Bạn muốn giữ số lần xuất hiện bên trong vòng lặp ở mức tối thiểu (mở và đóng tệp.txt 100K x4 sẽ thực sự gây căng thẳng cho hệ thống của bạn mà không có lý do chính đáng).

#!/bin/bash

khai báo -a a
tôi=0
trong khi ((i ++ < 100000)); làm
    a+=("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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0'
xong
printf '%s\n%s\n%s\n' "${a[@]}" > file.txt
lá cờ fj
Cảm ơn! Tuy nhiên, tôi vẫn ở bên trong chuỗi.
bac0n avatar
lá cờ cn
Tôi không làm theo?
lá cờ fj
đầu ra của tôi là 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.0000000000000000e+00 0.0000000000000000e+00 1.3330000000000000e+00 1.036606429653994e+01 1.02800000000000000e+01 0 0 E i -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 1 0 0 0 0
lá cờ fj
Tức là, i không được thay thế bằng số nguyên.
bac0n avatar
lá cờ cn
không nhìn thấy nó `"'E $i -1 -1.0000000000000000e+00..."` đây có phải là `i` duy nhất
bac0n avatar
lá cờ cn
điều này sẽ đi từ 0 đến 999999, bạn cũng có thể thực hiện `i=1` và sử dụng `

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.