انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => نرم‌افزارهای فنی-مهندسی => نویسنده: oostaa در 18 اسفند 1394، 11:47 ب‌ظ

عنوان: چطور چندین سطر یا ستون رو باهم مقایسه کنم؟
ارسال شده توسط: oostaa در 18 اسفند 1394، 11:47 ب‌ظ
سلام دوستان عزیز.
من یه فایل تکست دارم که 5 تا ستون داره در چندین هزار سطر.
چطور به وسیله ی پایتون 3 میتونم از بین اون سطرهایی که ردیف سوم و چهارمشون یکیه، فقط سطری رو نگه دارم که ردیف پنجمش از همه بزرگتره؟
نمونه ی فایل هم به صورت زیره :
511972 1 179.52 278.08 278.08
511973 1 183.04 278.08 278.08
511974 1 186.56 278.08 278.08
511975 1 190.08 278.08 278.08
511976 1 193.6 278.08 278.08
511977 1 197.12 278.08 278.08
511978 1 200.64 278.08 278.08
511979 1 204.16 278.08 278.08
511980 1 207.68 278.08 278.08
511981 1 211.2 278.08 278.08
511982 1 214.72 278.08 278.08
511983 1 218.24 278.08 278.08
511984 1 221.76 278.08 278.08
511985 1 225.28 278.08 278.08
511986 1 228.8 278.08 278.08
511987 1 232.32 278.08 278.08
511988 1 235.84 278.08 278.08
511989 1 239.36 278.08 278.08
511990 1 242.88 278.08 278.08
511991 1 246.4 278.08 278.08
511992 1 249.92 278.08 278.08
511993 1 253.44 278.08 278.08
511994 1 256.96 278.08 278.08
511995 1 260.48 278.08 278.08
511996 1 264 278.08 278.08
511997 1 267.52 278.08 278.08
511998 1 271.04 278.08 278.08
511999 1 274.56 278.08 278.08
512000 1 278.08 278.08 278.08
ITEM: TIMESTEP
20      2e+06
ITEM: NUMBER OF ATOMS
512000
ITEM: BOX BOUNDS
0 281.6
0 281.6
0 281.6
ITEM: ATOMS id type x y z
1 2 0 0 0
2 2 3.52 0 0
3 2 7.04 0 0
4 2 10.56 0 0
5 2 14.08 0 0
6 2 17.6 0 0
7 2 21.12 0 0
8 2 24.64 0 0
9 2 28.16 0 0
10 2 31.68 0 0
11 2 35.2 0 0
12 2 38.72 0 0
13 2 42.24 0 0
14 2 45.76 0 0
15 2 49.28 0 0
16 2 52.8 0 0
17 2 56.32 0 0
18 2 59.84 0 0
19 2 63.36 0 0
20 2 66.88 0 0
21 2 70.4 0 0
22 2 73.92 0 0
23 2 77.44 0 0
24 2 80.96 0 0
25 2 84.48 0 0
26 2 88 0 0
27 2 91.52 0 0
28 2 95.04 0 0
29 2 98.56 0 0
30 2 102.08 0 0
31 2 105.6 0 0
32 2 109.12 0 0
33 2 112.64 0 0
34 2 116.16 0 0
35 2 119.68 0 0
36 2 123.2 0 0
37 2 126.72 0 0
38 2 130.24 0 0
39 2 133.76 0 0
40 2 137.28 0 0
41 2 140.8 0 0
42 2 144.32 0 0
43 2 147.84 0 0
44 2 151.36 0 0
45 2 154.88 0 0
46 2 158.4 0 0
47 2 161.92 0 0
48 2 165.44 0 0
49 2 168.96 0 0
50 2 172.48 0 0
51 2 176 0 0
52 2 179.52 0 0
53 2 183.04 0 0
54 2 186.56 0 0
55 2 190.08 0 0
56 2 193.6 0 0
57 2 197.12 0 0
58 2 200.64 0 0
59 2 204.16 0 0
60 2 207.68 0 0
61 2 211.2 0 0
62 2 214.72 0 0
63 2 218.24 0 0
64 2 221.76 0 0
65 2 225.28 0 0
66 2 228.8 0 0
67 2 232.32 0 0
68 2 235.84 0 0
69 2 239.36 0 0
70 2 242.88 0 0
71 2 246.4 0 0
72 2 249.92 0 0
73 2 253.44 0 0
74 2 256.96 0 0
75 2 260.48 0 0
76 2 264 0 0
77 2 267.52 0 0
78 2 271.04 0 0
79 2 274.56 0 0
80 2 278.08 0 0
81 2 0 3.52 0
82 2 3.52 3.52 0
83 2 7.04 3.52 0
84 2 10.56 3.52 0
85 2 14.08 3.52 0
86 2 17.6 3.52 0
87 2 21.12 3.52 0
88 2 24.64 3.52 0
89 2 28.16 3.52 0
90 2 31.68 3.52 0
91 2 35.2 3.52 0
92 2 38.72 3.52 0
93 2 42.24 3.52 0
94 2 45.76 3.52 0
95 2 49.28 3.52 0
96 2 52.8 3.52 0
97 2 56.32 3.52 0
98 2 59.84 3.52 0
99 2 63.36 3.52 0
100 2 66.88 3.52 0
101 2 70.4 3.52 0
102 2 73.92 3.52 0
103 2 77.44 3.52 0
104 2 80.96 3.52 0
105 2 84.48 3.52 0
106 2 88 3.52 0
107 2 91.52 3.52 0
108 2 95.04 3.52 0
109 2 98.56 3.52 0
110 2 102.08 3.52 0
111 2 105.6 3.52 0
112 2 109.12 3.52 0
113 2 112.64 3.52 0
114 2 116.16 3.52 0
115 2 119.68 3.52 0
116 2 123.2 3.52 0
117 2 126.72 3.52 0
118 2 130.24 3.52 0
119 2 133.76 3.52 0
120 2 137.28 3.52 0
121 2 140.8 3.52 0
122 2 144.32 3.52 0
123 2 147.84 3.52 0
124 2 151.36 3.52 0
125 2 154.88 3.52 0
126 2 158.4 3.52 0
127 2 161.92 3.52 0
128 2 165.44 3.52 0
129 2 168.96 3.52 0
130 2 172.48 3.52 0
131 2 176 3.52 0
132 2 179.52 3.52 0
133 2 183.04 3.52 0
134 2 186.56 3.52 0
135 2 190.08 3.52 0
136 2 193.6 3.52 0
137 2 197.12 3.52 0
138 2 200.64 3.52 0
139 2 204.16 3.52 0
140 2 207.68 3.52 0
141 2 211.2 3.52 0
142 2 214.72 3.52 0
143 2 218.24 3.52 0
144 2 221.76 3.52 0
145 2 225.28 3.52 0
146 2 228.8 3.52 0
147 2 232.32 3.52 0
148 2 235.84 3.52 0
149 2 239.36 3.52 0
150 2 242.88 3.52 0
151 2 246.4 3.52 0
152 2 249.92 3.52 0
153 2 253.44 3.52 0
154 2 256.96 3.52 0
155 2 260.48 3.52 0
156 2 264 3.52 0
157 2 267.52 3.52 0
158 2 271.04 3.52 0
159 2 274.56 3.52 0
160 2 278.08 3.52 0
161 2 0 7.04 0
162 2 3.52 7.04 0
163 2 7.04 7.04 0
164 2 10.56 7.04 0
165 2 14.08 7.04 0
166 2 17.6 7.04 0
167 2 21.12 7.04 0
168 2 24.64 7.04 0
169 2 28.16 7.04 0
170 2 31.68 7.04 0
171 2 35.2 7.04 0
172 2 38.72 7.04 0
173 2 42.24 7.04 0
174 2 45.76 7.04 0
175 2 49.28 7.04 0
176 2 52.8 7.04 0
177 2 56.32 7.04 0
178 2 59.84 7.04 0
179 2 63.36 7.04 0
180 2 66.88 7.04 0
181 2 70.4 7.04 0
182 2 73.92 7.04 0
183 2 77.44 7.04 0
184 2 80.96 7.04 0
185 2 84.48 7.04 0
186 2 88 7.04 0
187 2 91.52 7.04 0
188 2 95.04 7.04 0
189 2 98.56 7.04 0
190 2 102.08 7.04 0
191 2 105.6 7.04 0
192 2 109.12 7.04 0
193 2 112.64 7.04 0
194 2 116.16 7.04 0
195 2 119.68 7.04 0
196 2 123.2 7.04 0
197 2 126.72 7.04 0
198 2 130.24 7.04 0
199 2 133.76 7.04 0
200 2 137.28 7.04 0
201 2 140.8 7.04 0
202 2 144.32 7.04 0
203 2 147.84 7.04 0
204 2 151.36 7.04 0
205 2 154.88 7.04 0
206 2 158.4 7.04 0
207 2 161.92 7.04 0
208 2 165.44 7.04 0
209 2 168.96 7.04 0
210 2 172.48 7.04 0
211 2 176 7.04 0
212 2 179.52 7.04 0
213 2 183.04 7.04 0
214 2 186.56 7.04 0
215 2 190.08 7.04 0
216 2 193.6 7.04 0
217 2 197.12 7.04 0
218 2 200.64 7.04 0
219 2 204.16 7.04 0
220 2 207.68 7.04 0
221 2 211.2 7.04 0
222 2 214.72 7.04 0
223 2 218.24 7.04 0
224 2 221.76 7.04 0
225 2 225.28 7.04 0
226 2 228.8 7.04 0
227 2 232.32 7.04 0
228 2 235.84 7.04 0
229 2 239.36 7.04 0
230 2 242.88 7.04 0
231 2 246.4 7.04 0
232 2 249.92 7.04 0
233 2 253.44 7.04 0
234 2 256.96 7.04 0
235 2 260.48 7.04 0
236 2 264 7.04 0
237 2 267.52 7.04 0
238 2 271.04 7.04 0
239 2 274.56 7.04 0
240 2 278.08 7.04 0
241 2 0 10.56 0
242 2 3.52 10.56 0
243 2 7.04 10.56 0
244 2 10.56 10.56 0
245 2 14.08 10.56 0
246 2 17.6 10.56 0
247 2 21.12 10.56 0
248 2 24.64 10.56 0
249 2 28.16 10.56 0
250 2 31.68 10.56 0
251 2 35.2 10.56 0
252 2 38.72 10.56 0
253 2 42.24 10.56 0
254 2 45.76 10.56 0
255 2 49.28 10.56 0
256 2 52.8 10.56 0
257 2 56.32 10.56 0
258 2 59.84 10.56 0
259 2 63.36 10.56 0
260 2 66.88 10.56 0
261 2 70.4 10.56 0
262 2 73.92 10.56 0
263 2 77.44 10.56 0
264 2 80.96 10.56 0
265 2 84.48 10.56 0
266 2 88 10.56 0
267 2 91.52 10.56 0
268 2 95.04 10.56 0
269 2 98.56 10.56 0
270 2 102.08 10.56 0
271 2 105.6 10.56 0
272 2 109.12 10.56 0
273 2 112.64 10.56 0
274 2 116.16 10.56 0
275 2 119.68 10.56 0
276 2 123.2 10.56 0
277 2 126.72 10.56 0
278 2 130.24 10.56 0
279 2 133.76 10.56 0
280 2 137.28 10.56 0
281 2 140.8 10.56 0
282 2 144.32 10.56 0
283 2 147.84 10.56 0
284 2 151.36 10.56 0
285 2 154.88 10.56 0
286 2 158.4 10.56 0
287 2 161.92 10.56 0
288 2 165.44 10.56 0
289 2 168.96 10.56 0
290 2 172.48 10.56 0
291 2 176 10.56 0
292 2 179.52 10.56 0
293 2 183.04 10.56 0
294 2 186.56 10.56 0
295 2 190.08 10.56 0
296 2 193.6 10.56 0
297 2 197.12 10.56 0
298 2 200.64 10.56 0
299 2 204.16 10.56 0
300 2 207.68 10.56 0
301 2 211.2 10.56 0
302 2 214.72 10.56 0
303 2 218.24 10.56 0
304 2 221.76 10.56 0
305 2 225.28 10.56 0
306 2 228.8 10.56 0
307 2 232.32 10.56 0
308 2 235.84 10.56 0
309 2 239.36 10.56 0
310 2 242.88 10.56 0
311 2 246.4 10.56 0
312 2 249.92 10.56 0
313 2 253.44 10.56 0
314 2 256.96 10.56 0
315 2 260.48 10.56 0
316 2 264 10.56 0
317 2 267.52 10.56 0
318 2 271.04 10.56 0
319 2 274.56 10.56 0
320 2 278.08 10.56 0
321 2 0 14.08 0
322 2 3.52 14.08 0
323 2 7.04 14.08 0
324 2 10.56 14.08 0
325 2 14.08 14.08 0
326 2 17.6 14.08 0
327 2 21.12 14.08 0
328 2 24.64 14.08 0
329 2 28.16 14.08 0
330 2 31.68 14.08 0
331 2 35.2 14.08 0
332 2 38.72 14.08 0
333 2 42.24 14.08 0
334 2 45.76 14.08 0
335 2 49.28 14.08 0
336 2 52.8 14.08 0
337 2 56.32 14.08 0
338 2 59.84 14.08 0
339 2 63.36 14.08 0
340 2 66.88 14.08 0
341 2 70.4 14.08 0
342 2 73.92 14.08 0
343 2 77.44 14.08 0
344 2 80.96 14.08 0
345 2 84.48 14.08 0
346 2 88 14.08 0
347 2 91.52 14.08 0
348 2 95.04 14.08 0
349 2 98.56 14.08 0
350 2 102.08 14.08 0
351 2 105.6 14.08 0
352 2 109.12 14.08 0
353 2 112.64 14.08 0
354 2 116.16 14.08 0
355 2 119.68 14.08 0
356 2 123.2 14.08 0
357 2 126.72 14.08 0
358 2 130.24 14.08 0
359 2 133.76 14.08 0
360 2 137.28 14.08 0
361 2 140.8 14.08 0
362 2 144.32 14.08 0
363 2 147.84 14.08 0
364 2 151.36 14.08 0
365 2 154.88 14.08 0
366 2 158.4 14.08 0
367 2 161.92 14.08 0
368 2 165.44 14.08 0
369 2 168.96 14.08 0
370 2 172.48 14.08 0
371 2 176 14.08 0
372 2 179.52 14.08 0
373 2 183.04 14.08 0
374 2 186.56 14.08 0
375 2 190.08 14.08 0
376 2 193.6 14.08 0
377 2 197.12 14.08 0
378 2 200.64 14.08 0
379 2 204.16 14.08 0
380 2 207.68 14.08 0
381 2 211.2 14.08 0
382 2 214.72 14.08 0
383 2 218.24 14.08 0
384 2 221.76 14.08 0
385 2 225.28 14.08 0
386 2 228.8 14.08 0
387 2 232.32 14.08 0
388 2 235.84 14.08 0
389 2 239.36 14.08 0
390 2 242.88 14.08 0
391 2 246.4 14.08 0
392 2 249.92 14.08 0
393 2 253.44 14.08 0
394 2 256.96 14.08 0
395 2 260.48 14.08 0
396 2 264 14.08 0
397 2 267.52 14.08 0
398 2 271.04 14.08 0
399 2 274.56 14.08 0
400 2 278.08 14.08 0
401 2 0 17.6 0
402 2 3.52 17.6 0
403 2 7.04 17.6 0
404 2 10.56 17.6 0
405 2 14.08 17.6 0
406 2 17.6 17.6 0
407 2 21.12 17.6 0
408 2 24.64 17.6 0
409 2 28.16 17.6 0
410 2 31.68 17.6 0
411 2 35.2 17.6 0
412 2 38.72 17.6 0
413 2 42.24 17.6 0
414 2 45.76 17.6 0
415 2 49.28 17.6 0
416 2 52.8 17.6 0
417 2 56.32 17.6 0
418 2 59.84 17.6 0
419 2 63.36 17.6 0
420 2 66.88 17.6 0
421 2 70.4 17.6 0
422 2 73.92 17.6 0
423 2 77.44 17.6 0
424 2 80.96 17.6 0
425 2 84.48 17.6 0
426 2 88 17.6 0
427 2 91.52 17.6 0
428 2 95.04 17.6 0
429 2 98.56 17.6 0
430 2 102.08 17.6 0
431 2 105.6 17.6 0
432 2 109.12 17.6 0
433 2 112.64 17.6 0
434 2 116.16 17.6 0
435 2 119.68 17.6 0
436 2 123.2 17.6 0
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: سلمان م. در 18 اسفند 1394، 11:55 ب‌ظ
خودت تا کجاش رفتی؟ بگو مشکلت کجاست.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: احسان فعالپور در 19 اسفند 1394، 12:01 ق‌ظ
سلام.
یه خورده ابهام در مورد سوالتون برام بوجود اومده، اگه رفعش کنید شاید بتونم کمکتون کنم.
طبق این نتایج:

ehsan@ehsan-SVF152190X:~/Desktop/scripting/tmp$ awk -vOFS="\t" 'NF==5 && $3==$4 {print $3, $4,$5}' source | sort -n
0 0 0
3.52 3.52 0
7.04 7.04 0
10.56 10.56 0
14.08 14.08 0
17.6 17.6 0
278.08 278.08 278.08
از بین این دیتاهایی که گذاشتید من تمام سطرهای پنج ستونه‌ای که ستون سوم و چهارمش با هم برابر هستند رو چاپ کردم.
منتها ابهام اینجاست که از هیچ کدوم از این طرها شما دو تا ندارید که بخواید طبق مقدار ستون پنجم انتخابشون کنید.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 19 اسفند 1394، 12:20 ق‌ظ
کاملا حرف شما درسته . این قسمتی از جواب برنامه ی خودم بود که متاسفانه توشون ستون سوم و چهارم تکرار نشدن، اما من میخوام از بین اون ستون هایی که ردیف سوم و چهارمشون برابرن،فقط اون سطری باقی بمونه که ردیف پنجمش بزرگتر از همه س . ایا این برنامه این کارو میکنه ؟
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: احسان فعالپور در 19 اسفند 1394، 01:32 ق‌ظ
کاملا حرف شما درسته . این قسمتی از جواب برنامه ی خودم بود که متاسفانه توشون ستون سوم و چهارم تکرار نشدن، اما من میخوام از بین اون ستون هایی که ردیف سوم و چهارمشون برابرن،فقط اون سطری باقی بمونه که ردیف پنجمش بزرگتر از همه س . ایا این برنامه این کارو میکنه ؟

واللا در حال حاضر الگوریتمی که بتونه خیلی بهینه این کار رو براتون انجام بده به ذهنم نمیرسه(لااقل با پایتون)، باید روش فکر کنم. ولی این اسکریپت AWK کاری که میخواید رو انجام میده.(امیدوارم ترتیب سطرها مهم نباشه، که البته میشه ترتیب سطرها رو هم حفظ کرد که به نظرم زیاد برای پرفورمنس اسکریپت خوب نیست.)

#!/bin/bash

awk '
NF==5 && $3==$4 {
if ($3 in max5){
if ($5 > max5[$3]){
max5[$3]=$5
lineHolder[$3]=$0
}
}else{
max5[$3]=$5
lineHolder[$3]=$0
}
}
NF==5 && $3!=$4 {
print
}
END {
for (i in lineHolder){
print lineHolder[i]
}
delete max5
delete lineHolder
}
' "$1" | sort -n | column -t

دیتاهایی که برای تست انتخاب کردم:

1       2      0       0       12.325
27033   1640   23517   17240   26872
87      21272  19958   22037   13386
21795   4840   27395   25726   19225
512000  1      278.08  278.08  278.08
30484   27772  27080   1038    28194
914     26259  31041   12751   17026
244     2      10.56   10.56   54.25
19301   28865  1212    15014   13332
13082   7324   30265   27130   18809
82      2      3.52    3.52    10
27930   19408  24736   25856   2013
31960   23376  30670   4205    29465
1       2      0       0       0
512000  1      278.08  278.08  278.18
13280   29320  5806    9668    4722
189     18824  23559   30526   23638
21618   22655  9397    2508    29365
16411   12682  29546   29613   20746
244     2      10.56   10.56   53.75
4780    5894   17484   11071   31197
3473    18722  7037    23313   30944
244     2      10.56   10.56   54
11163   24921  18840   14636   6122
6284    10256  24329   1531    23432
22177   7698   22399   3834    5480
406     2      17.6    17.6    6
16321   23440  32277   25179   2600
27494   15847  26311   26677   9994
22688   9494   31907   23668   18598
990     3657   12988   29304   26203
82      2      3.52    3.52    19.75
21727   12484  14384   8669    24409
26549   19437  13666   29183   8238
11780   11387  7677    8721    16645
21191   22072  9676    21098   25895
325     2      14.08   14.08   6
406     2      17.6    17.6    3.25
1       2      0       0       6.5
9856    18896  19692   27390   7405
325     2      14.08   14.08   8
18727   21900  30788   31734   10020
9588    11060  2774    10139   3059
23478   5869   16742   6354    3819
82      2      3.52    3.52    14
7250    27142  490     27628   29063
28262   16343  63      1615    27829
28110   9396   21775   2926    32665
167     3644   19128   10728   25901
16520   31089  15282   19995   975
163     2      7.04    7.04    0
406     2      17.6    17.6    7
163     2      7.04    7.04    0
1009    26446  1280    28820   24775
8836    26140  30106   30978   13388
13647   6100   31813   21440   13466
163     2      7.04    7.04    7.5
512000  1      278.08  278.08  278.06
22139   25430  21304   16133   5611
15273   29674  20969   30200   17961
11203   18118  14305   17467   8832
28129   3232   27111   27290   22391
325     2      14.08   14.08   8
19879   17899  32318   24778   9265
28468   31553  13558   17160   1075
27769   8905   23192   21010   27649

و نتیجه بعد از اعمال اسکریپت:

1       2      0       0       12.325
82      2      3.52    3.52    19.75
87      21272  19958   22037   13386
163     2      7.04    7.04    7.5
167     3644   19128   10728   25901
189     18824  23559   30526   23638
244     2      10.56   10.56   54.25
325     2      14.08   14.08   8
406     2      17.6    17.6    7
914     26259  31041   12751   17026
990     3657   12988   29304   26203
1009    26446  1280    28820   24775
3473    18722  7037    23313   30944
4780    5894   17484   11071   31197
6284    10256  24329   1531    23432
7250    27142  490     27628   29063
8836    26140  30106   30978   13388
9588    11060  2774    10139   3059
9856    18896  19692   27390   7405
11163   24921  18840   14636   6122
11203   18118  14305   17467   8832
11780   11387  7677    8721    16645
13082   7324   30265   27130   18809
13280   29320  5806    9668    4722
13647   6100   31813   21440   13466
15273   29674  20969   30200   17961
16321   23440  32277   25179   2600
16411   12682  29546   29613   20746
16520   31089  15282   19995   975
18727   21900  30788   31734   10020
19301   28865  1212    15014   13332
19879   17899  32318   24778   9265
21191   22072  9676    21098   25895
21618   22655  9397    2508    29365
21727   12484  14384   8669    24409
21795   4840   27395   25726   19225
22139   25430  21304   16133   5611
22177   7698   22399   3834    5480
22688   9494   31907   23668   18598
23478   5869   16742   6354    3819
26549   19437  13666   29183   8238
27033   1640   23517   17240   26872
27494   15847  26311   26677   9994
27769   8905   23192   21010   27649
27930   19408  24736   25856   2013
28110   9396   21775   2926    32665
28129   3232   27111   27290   22391
28262   16343  63      1615    27829
28468   31553  13558   17160   1075
30484   27772  27080   1038    28194
31960   23376  30670   4205    29465
512000  1      278.08  278.08  278.18

به نظر من که اصلا نیازی به پایتون هم نیست.

موفق باشید.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 19 اسفند 1394، 06:20 ق‌ظ
مچکرم اقا احسان . خدا روشکر ترتیب سطرها مهم نیست . بازم ممنون .
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 19 اسفند 1394، 06:51 ق‌ظ
این پست با کمک دوستان یه گره کورو برای من باز کرد و خیلی بهم کمک کرد.این الگوریتم یه قسمت دیگه هم داره . نمیدونم ایا میشه این رو هم با همین دستور awk   انجام داد یا نه .
برای کل ردیف هایی که(بعد از حذف سطرهایی با ردیف های سوم و چهارم مشابه اما با ردیف پنجم کمتر)باقی موندن،میانگین ردیف پنجم رو محاسبه کنه و تک تک ردیف پنجم همه ی سطرها رو به صورت تک تک ازش کم کنه و به توان 2 برشونه و بعدش همه ی عدد های حاصل شده رو جمع کنه .که تو قسمت پایین این کارو نشون دادم .
1       2      0       0       12.325
82      2      3.52    3.52    19.75
87      21272  19958   22037   13386

میانگین ردیف پنجم: 4472.691666667
(12.235-4472.691666667)^2+(19.75-4472.691666667)^2+(13386-4472.691666667)^2 = ...


بازم ممنونم به خاطر وقتی که میذارید.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: احسان فعالپور در 19 اسفند 1394، 11:01 ق‌ظ
خب ظاهرا استفاده از awk برای شما خیلی کار راه اندازه، پیشنهاد میکنم روی یادگیریش وقت بذارید حتما.
اما در این مورد کافیه شما نتایج نهایی‌ای رو که از مرحله قبل بدست میارید بدید به دستور زیر تا میانگین رو حساب کنه:

ehsan@ehsan-SVF152190X:~/Desktop/scripting/tmp$ awk -MO '{sum+=$5};END{print sum/NR}' final
14655.5

و بعد برای قسمت بعدی هم از دستور زیر استفاده کنید:

ehsan@ehsan-SVF152190X:~/Desktop/scripting/tmp$ awk -MO -vCONST=14655.5 '{sum+=($5-CONST)^2};END{printf("%16.5f\n",sum)}' final
6058642531.83803
دقت کنید که این نتایج به ازای این دیتاهای خاصی که من به صورت رندوم تهیه کردم به دست اومده.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: 藤沼 در 19 اسفند 1394، 11:43 ق‌ظ
http://pizza.sandia.gov/doc/dump.html
http://lammps.sandia.gov/doc/Section_python.html
http://pandas.pydata.org

همیشه ماهیت داده و منشاء اون رو بنویسید.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 19 اسفند 1394، 12:28 ب‌ظ
از همه ی دوستان مچکرم . مخصوصا اقای فعالپور
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 20 اسفند 1394، 05:28 ب‌ظ
نحوه ی اجرای این اسکریپتها،صرفا به صورت کپی اونها تو ترمیناله ؟ یا باید جور دیگه ای اجراشون کنم؟
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: koosha در 20 اسفند 1394، 06:07 ب‌ظ
اگر منظورتون بش هست که میتونید اونها رو داخل فایلی با پسوند sh بریزید ، اول فایل بنویسید :  #!/bin/bash
و با این دستور بهش اجازه ی اجرا شدن بدید :  chmod +x file.shبعدش هم اجراش کنید .
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 20 اسفند 1394، 07:40 ب‌ظ
ممنونم کوشای عزیز. اما چطور باید فایل ورودی رو به این اسکریپت معرفی کنم ؟ من نه تو خود اسکریپت نه تو خود کد chmod جایی برای وارد کردن فایل ورودی ندیدم .
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 20 اسفند 1394، 10:52 ب‌ظ
من برای اجرای کد :
#!/bin/bash

awk '
NF==5 && $3==$4 {
if ($3 in max5){
if ($5 > max5[$3]){
max5[$3]=$5
lineHolder[$3]=$0
}
}else{
max5[$3]=$5
lineHolder[$3]=$0
}
}
NF==5 && $3!=$4 {
print
}
END {
for (i in lineHolder){
print lineHolder[i]
}
delete max5
delete lineHolder
}
' "$1" | sort -n | column -t
از دستور
awk –f hazfmoshbeh.awk infile.txtاستفاده کردم . اما خطای زیر رو میده :
awk: hazfmoshbeh.awk:25: "$1" | sort -n | column -t
awk: hazfmoshbeh.awk:25:        ^ syntax error
awk: hazfmoshbeh.awk:25: "$1" | sort -n | column -t
awk: hazfmoshbeh.awk:25:                  ^ syntax error
فک میکنیپد مشکلش کجاست ؟
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: احسان فعالپور در 20 اسفند 1394، 11:48 ب‌ظ
سلام.
این کارتون اشتباهه. زمانی مبتونی از یه همچین سینتکسی استفاده کنی که کل اون اسکریپت مربوط به awk باشه که توی اینجا sort و column جزو سینتکس awkنیستند.
شما کل اون اسکریپتی که نوشتم رو بریز توی یه فایل، بهش مجوز لازم رو بده، بعد صداش کن و فایل مورد نظر رو بهش پاس بده.
عنوان: طروپاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 21 اسفند 1394، 11:51 ق‌ظ
من که تو لینوکس صفرم . میشه راهنماییم کنید که دقیقا باید چیکار کنم ؟ کدهایی که باید استفاده کنم ...
دو سه روزه که دارم سرچ میزنم اما هنوز هیچی دستگیرم نشده . نمیدونم باید چیکار کنم این کدها رو  و چطور استفاده کنم ازشون .
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 21 اسفند 1394، 05:14 ب‌ظ
وقتی کد  ehsan@ehsan-SVF152190X:~/Desktop/scripting/tmp$ awk -MO '{sum+=$5};END{print sum/NR}' final رو وارد میکنم این جوابو  میده :
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
Short options: GNU long options: (extensions)
-b --characters-as-bytes
-c --traditional
-C --copyright
-d[file] --dump-variables[=file]
-e 'program-text' --source='program-text'
-E file --exec=file
-g --gen-pot
-h --help
-L [fatal] --lint[=fatal]
-n --non-decimal-data
-N --use-lc-numeric
-O --optimize
-p[file] --profile[=file]
-P --posix
-r --re-interval
-S --sandbox
-t --lint-old
-V --version

To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
gawk '{ sum += $1 }; END { print sum }' file
gawk -F: '{ print $1 }' /etc/passwd
فک میکنید مشکلش چیه ؟
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: احسان فعالپور در 21 اسفند 1394، 10:14 ب‌ظ
سوئیچ M- برای محاسبات با اعداد بزرگ بود که ظاهرا ورژن awk شما ازش پشتیبانی نمیکنه.
بیخیالش بشید و حذفش کنید اون سوئیچ رو.
 خروجیه این دستور رو بدید لطفا:

ehsan@ehsan-SVF152190X:~$ awk --version
GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.3, GNU MP 6.0.0)
Copyright (C) 1989, 1991-2014 Free Software Foundation.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.

اگه  GNU MPFR و GNU MP توی دو خط اول دیده نمیشن پیشنهاد میکنم از awkبه جای gawk استفاده کنید.
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: oostaa در 22 اسفند 1394، 12:13 ق‌ظ
دمتون گرم . مشکل حل شد اساسی. امیدوارم بتونم جبران کنم .
عنوان: پاسخ : مقایسه چند سطر به وسیله ی پایتون
ارسال شده توسط: 藤沼 در 22 اسفند 1394، 11:32 ق‌ظ
عنوان مطلب رو از پایتون به «چطور چندین سطر یا ستون رو باهم مقایسه کنم؟» تغییر بده (: