إحصائيات طول الأسطر: الأدنى والأقصى والمتوسط والوسيط
احصل على الأرقام الأربعة التي تصف عرض أسطرك: في مثال من ثلاثة أسطر يبلغ أقصرها 5 أحرف وأطولها 22 والوسيط 10، مع المتوسط أيضًا. اعثر على السطر الذي سيكسر التخطيط دون فحص الملف بعينيك. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- short a somewhat longer line mid length
- الأسطر
- 3
- Min
- 5
- Max
- 22
- المتوسط
- 12.333333
إنها أسرع طريقة للإجابة عن أسئلة مثل مدى العرض الحقيقي لملف سجل، أو ما إذا كانت قصيدة تحافظ على إيقاع ثابت، أو ما إذا كان مستند مُلتفّ يحترم عرض العمود المستهدف، دون تحميل النص في محرر لفحصه بالعين.
ما الذي تكشفه الأرقام الأربعة
كل إحصائية تجيب عن سؤال مختلف حول نصك. يكشف الحد الأدنى لطول السطر الطرف القصير: الفواصل الفارغة، والأسطر المكونة من كلمة واحدة، أو مقطعًا تائهًا بقي بعد تحرير. ويكشف الحد الأقصى لطول السطر الطرف الطويل، وهو ما يُفسد التخطيطات وألواح الطرفية وعملاء البريد الإلكتروني وأدوات مراجعة الكود التي تفترض ميزانية من الأعمدة.
أما المتوسط فيمنحك الحجم النموذجي، وهو مفيد عند مقارنة نسختين من المستند نفسه أو التحقق من أن إعادة الصياغة قد شدّت النثر فعلًا. ويخبرك الوسيط بموضع السطر الأوسط، وهو أمتن من المتوسط عندما تسحب بضعة أسطر متطرفة المتوسطَ معها. ومقروءين معًا، يعطي الحدان الأدنى والأقصى مدى التشتت، بينما يكشف المتوسط والوسيط معًا الانحراف: إذا كان المتوسط أعلى بكثير من الوسيط، فإن حفنة من الأسطر الطويلة جدًا ترفع النص، وغالبًا سترغب في العثور عليها.
كيف تُحسب الأسطر والأطوال
يُقسَّم النص إلى أسطر عند أي من نهايات الأسطر المعتادة — LF أو CR أو CRLF — بحيث تُقاس ملفات أنظمة يونكس وماك الكلاسيكي وويندوز بالطريقة نفسها. ويُحسب الطول بالأحرف تمامًا كما تحتفظ بها السلسلة: بلا اقتطاع، وبلا دمج للمسافات، وبلا استثناءات. يُحسب السطر الفارغ بين فقرتين سطرًا طوله صفر، ويُحسب سطر المسافات الزائدة كلَّ مسافةٍ فيه، لأن ذلك هو العرض الصادق لما أرسلته.
ويُقرَّب المتوسط والوسيط إلى ست منازل عشرية ليكون الناتج متطابقًا على كل آلة، وهو أمر مهم عند مقارنة المخرجات بين التشغيلات أو حفظها في سجل تدقيق.
أين يندرج في سير العمل الحقيقي
تدمج الفرق إحصائيات طول الأسطر في فحوصات كانت ستكون فحصًا يدويًا بالعين لولاها. يتحقق خط أنابيب التوثيق من بقاء أمثلة الكود ضمن ميزانية 80 عمودًا قبل النشر؛ ويُنمّذج خط أنابيب البيانات الملفات الواردة ذات العرض الثابت ويرفض أي تغذية يتغير طول سجلها فجأة؛ ويؤكد سير عمل النشر أن نشرة بريدية بنص عادي تلتف كما يتوقع القالب. لا يُحفظ شيء مما ترسله: يُقاس النص ثم يُتلف، ولا تعود إلا الأرقام الأربعة.
ولعدّ الأسطر بدل قياسها، ادمجه مع عدّاد أسطر؛ ولفرض عرض معين، مع أداة التفاف نصي تعيد كسر الأسطر إلى العمود الذي تختاره.
حالات الاستخدام
دقق سجلًا أو تغذية بيانات
نمذج ملفًا واردًا ذا عرض ثابت أو بأسلوب CSV ونبّه عندما ينحرف الحد الأقصى لطول السطر عن حجم السجل الذي يتوقعه المحلل.
افرض ميزانية أعمدة
تحقق من بقاء أمثلة الكود وملفات README والرسائل النصية العادية ضمن حد 80 عمودًا قبل نشرها أو إرسالها.
قارن مسودات مستند
تتبع متوسط طول السطر ووسيطه عبر المراجعات لترى ما إذا كان التحرير قد شدّ النص فعلًا أم مجرد نقل الكلمات من مكانها.
الأسئلة الشائعة
كم تبلغ التكلفة؟
ويمكنك أيضًا تشغيله مجانًا في متصفحك على هذه الصفحة.
ما الذي يُحسب سطرًا بالضبط؟
يُقسَّم النص عند نهايات الأسطر LF أو CR أو CRLF. ويُحسب كل مقطع، بما في ذلك الأسطر الفارغة التي يبلغ طولها صفرًا.
هل تُقتطع المسافات قبل القياس؟
لا. تُحسب الأطوال بالأحرف كما أُرسلت تمامًا، لذا تدخل المسافات البادئة والخاتمة في طول كل سطر.
كيف يُقرَّب المتوسط والوسيط؟
يُقرَّب كلاهما إلى ست منازل عشرية لتكون النتائج مستقرة ومتطابقة بايتًا بايت بين الآلات والتشغيلات.
هل يُحفظ نصي؟
لا. يُقاس ثم يُتلف؛ ولا تُرجَع إلا الإحصائيات الأربع.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/line-length-stats \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"short\na somewhat longer line\nmid length"}'const res = await fetch("https://api.kit.forhosting.com/text/line-length-stats", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "short\na somewhat longer line\nmid length"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/line-length-stats",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "short\na somewhat longer line\nmid length"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/line-length-stats", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"short\\na somewhat longer line\\nmid length"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"short\na somewhat longer line\nmid length"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/line-length-stats", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "short\na somewhat longer line\nmid length"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.line_length_stats",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 5 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تقرأ واجهة API لإحصائيات طول الأسطر نصًا متعدد الأسطر وتُرجع في استدعاء واحد الأرقام الأربعة التي تصف أحجام أسطره: أقصر سطر، وأطول سطر، ومتوسط طول السطر، والوسيط، وكلها محسوبة بالأحرف. الصق النص لتحصل على الملف التعريفي؛ وأتمت العملية ليعمل الكود نفسه على الحافة مقابل $0.002 لكل طلب.
كيف تُحسب الأسطر والأطوال
والمدخل الوحيد المرفوض هو نص بلا أي سطر — سلسلة فارغة — لأنه لا يوجد شيء ذو معنى لقياسه؛ وفي تلك الحالة تتلقى خطأ invalid_input واضحًا ولا تُحصَّل قيمة الطلب.
أين يندرج في سير العمل الحقيقي
ولأن الكود نفسه يعمل مجانًا في متصفحك وعلى API، يمكنك تجربة الفحص بلصق عينة في هذه الصفحة ولا تدفع — $0.002 لكل طلب — إلا عندما تؤتمته.
أسئلة تقنية
ماذا يحدث إذا كان النص فارغًا؟
السلسلة الفارغة لا أسطر فيها، لذا يفشل الطلب بخطأ invalid_input ولا تُحصَّل قيمته.