این کلاک فرمانی است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
cloc - شمارش و محاسبه تفاوت خطوط کد منبع و نظرات.
خلاصه
cloc [گزینه ها] ...
شرح
شمارش یا محاسبه تفاوت خطوط فیزیکی کد منبع در فایل های داده شده (ممکن است
بایگانیهایی مانند تاربالهای فشرده یا فایلهای فشرده) و/یا به صورت بازگشتی در زیر موارد داده شده
دایرکتوری ها این به طور کامل در پرل نوشته شده است و فقط از ماژول های استاندارد استفاده می کند
توزیع.
OPTIONS
ورودی گزینه
برای شمارش ورودی استاندارد، از نام فایل ویژه استفاده کنید -.
--extract-with=CMD
این گزینه تنها زمانی مورد نیاز است که cloc نتواند نحوه استخراج محتویات را بفهمد
فایل(های) ورودی به خودی خود. از CMD برای استخراج فایل های آرشیو باینری استفاده کنید (به عنوان مثال:
tar.gz، .zip، .Z). از ">FILE<" به عنوان یک پایه برای فایل(های) واقعی استفاده کنید
استخراج شود. به عنوان مثال، برای شمارش خطوط کد در فایل های ورودی gcc-4.2.tar.gz
perl-5.8.8.tar.gz در استفاده از یونیکس:
--extract-with='gzip -dc >FILE< | tar xf -
یا اگر تار گنو دارید:
--extract-with='tar zxf >FILE<'
و در ویندوز، برای مثال استفاده کنید:
--extract-with="\"c:\Program Files\WinZip\WinZip32.exe\" -e -o >FILE
--list-file=FILE
فهرستی از نامهای فایل و/یا دایرکتوری را از FILE که یکی دارد برای پردازش بگیرید
نام فایل/دایرکتوری در هر خط. همچنین ببینید --exclude-list-file
--یونیکد
فایل های باینری را بررسی کنید تا ببینید آیا حاوی متن ASCII گسترش یافته یونیکد هستند یا خیر. این باعث می شود
عملکرد به طور قابل توجهی کاهش می یابد.
پردازش گزینه
-- autoconf
تعداد فایلهای .in (بر اساس پردازش خودکار گنو) زبانهای شناختهشده.
--توسط فایل
نتایج را برای هر فایل منبعی که با آن مواجه می شوید گزارش کنید.
--به فایل به زبان
نتایج را برای هر فایل منبعی که با آن مواجه می شوید، علاوه بر گزارش بر اساس زبان، گزارش دهید.
--تفاوت SET1 SET2
تفاوت در کد و نظرات بین فایل(های) منبع SET1 و SET2 را محاسبه کنید. در
ورودی ها ممکن است جفت فایل، دایرکتوری یا آرشیو باشند. استفاده کنید - ترازبندی متفاوت به
لیستی ایجاد کنید که نشان می دهد کدام جفت فایل مقایسه شده است. همچنین ببینید --نادیده گرفتن مورد,
--نادیده گرفتن-فضای سفید.
--تفاوت زمان N
فایل هایی که پردازش آنها بیش از N ثانیه طول می کشد را نادیده بگیرید. پیش فرض 10 ثانیه است.
(فایل های بزرگ با خطوط تکراری زیاد می توانند باعث شوند الگوریتم::Diff::sdiff() به
ساعت ها.)
--پیوندها
[فقط Unix] پیوندهای نمادین به دایرکتوری ها را دنبال کنید (پیوندهای نماد به فایل ها همیشه هستند
دنبال شد).
--force-lang=LANG[,EXT]
تمام فایلهایی را که پسوند EXT دارند با شمارنده زبان LANG پردازش کنید. برای
برای مثال، شمارش تمام فایلهای f. با شمارنده فرترن 90 (که انتظار دارد فایلها به پایان برسد.
با .f90) به جای شمارنده پیش فرض Fortran 77، از:
--force-lang="Fortran 90",f
اگر EXT حذف شود، هر فایل با شمارنده LANG شمارش می شود. این گزینه می تواند
چندین بار مشخص شود (اما این فقط زمانی مفید است که هر بار EXT داده شود). دیدن
همچنین ---زبان اسکریپت, --lang-no-ext.
--force-lang-def=FILE
فیلترهای پردازش زبان را از FILE بارگیری کنید، سپس به جای فیلتر از این فیلترها استفاده کنید
فیلترهای داخلی توجه: زبان هایی که به یک پسوند فایل نگاشت می شوند (به عنوان مثال:
MATLAB/Objective C/MUMPS; پاسکال/PHP; Lisp/OpenCL) در صورت نیاز نادیده گرفته خواهد شد
پردازش اضافی که در فایل های تعریف زبان بیان نمی شود. استفاده کنید
--خواندن-لنگ-دف برای تعریف فیلترهای زبان جدید بدون جایگزینی فیلترهای داخلی (نگاه کنید به
همچنین --نوشتن-لنگ-دف).
--نادیده گرفتن-فضای سفید
هنگام مقایسه فایل ها با فضای سفید افقی نادیده گرفته شود --تفاوت. همچنین ببینید
--نادیده گرفتن مورد.
--نادیده گرفتن مورد
نادیده گرفتن تغییرات در مورد؛ زمانی که حروف بزرگ و کوچک را معادل در نظر بگیرید
مقایسه فایل ها با --تفاوت. همچنین ببینید --نادیده گرفتن-فضای سفید.
--lang-no-ext=LANG
شمارش فایل های بدون پسوند با استفاده از شمارنده LANG. این گزینه داخلی را لغو می کند
منطق فایلهای بدون پسوند (که در آن چنین فایلهایی با شناخته شده بررسی میشوند
زبان های برنامه نویسی با بررسی خط اول برای "#!"). همچنین ببینید -- فورس لنگ,
---زبان اسکریپت.
--max-file-size=MB
هنگام عبور از دایرکتوری ها، از فایل های بزرگتر از "MB" مگابایت رد شوید. به صورت پیش فرض،
"MB" = 100. نیاز به حافظه cloc تقریباً بیست برابر بزرگتر از بزرگترین است
این فایل با فایل های بزرگتر از 100 مگابایت در رایانه ای با حجم کمتر از 2 گیگابایت اجرا می شود
حافظه مشکل ایجاد خواهد کرد. توجه: این بررسی به صراحت برای فایل ها اعمال نمی شود
به عنوان آرگومان های خط فرمان منتقل می شود.
--خواندن-باینری-فایل ها
علاوه بر فایل های متنی، فایل های باینری را پردازش کنید. این معمولا یک ایده بد است و باید
فقط با فایلهای متنی که دادههای باینری جاسازی کردهاند تلاش شود.
--read-lang-def=FILE
فیلترهای پردازش زبان جدید را از FILE بارگیری کنید و آنها را با فیلترهایی که قبلاً شناخته شده اند ادغام کنید
به انسداد اگر FILE زبانی را تعریف کند که cloc از قبل می داند، تعریف cloc این کار را خواهد کرد
اولویت داشته باشد. استفاده کنید --force-lang-def برای غلبه بر تعاریف cloc. (همچنین ببینید
--نوشتن-لنگ-دف).
--script-lang=LANG,S
تمام فایل هایی که "S" را به عنوان "#" فراخوانی می کنند پردازش کنید. زبان برنامه نویسی با شمارنده برای
زبان LANG. به عنوان مثال، فایل هایی که با "#!/usr/local/bin/perl5.8.8" شروع می شوند، خواهند بود.
با استفاده از شمارنده پرل شمارش می شود
--script-lang=Perl,perl5.8.8
نام زبان به حروف بزرگ و کوچک حساس نیست، اما نام زبان اسکریپت قابل اجرا است،
"S" باید مورد مناسب داشته باشد. این گزینه را می توان چندین بار مشخص کرد. همچنین ببینید
-- فورس لنگ.
--sdir=DIR
به جای اجازه دادن از DIR به عنوان دایرکتوری خراش استفاده کنید فایل:: Temp مکان را انتخاب کرد
فایل های نوشته شده در این مکان در پایان اجرا حذف نمی شوند (همانطور که هستند
فایل:: Temp).
- پرش از منحصر به فرد بودن
از بررسی منحصر به فرد بودن فایل بگذرید. این باعث افزایش عملکرد در هزینه خواهد شد
چندین بار شمارش فایل ها با محتوای یکسان (در صورت وجود چنین موارد تکراری).
--stdin-name=FILE
تعداد خطوط پخش شده از طریق STDIN گویی از فایلی به نام FILE آمده اند.
--strip-comments=EXT
برای هر فایل پردازش شده، نسخه ای از فایل را در دایرکتوری فعلی بنویسید
خطوط خالی و نظرات حذف شده است. نام هر فایل stripped اصلی است
نام فایل با ".EXT" به آن اضافه شده است. در دایرکتوری فعلی نوشته می شود مگر اینکه
- اصلی- کارگردان روشن است
- اصلی- کارگردان
فایل های stripped را همان دایرکتوری فایل های اصلی بنویسید. فقط موثر در
ترکیب با -- نوار نظرات.
--جمع-گزارش ها
آرگومان های ورودی فایل های گزارشی هستند که قبلاً با آن ایجاد شده اند --گزارش-فایل گزینه.
مجموعه ای انباشته از نتایج حاوی مجموع داده های فرد را می سازد
فایل های گزارش
--یونیکس
منطق تشخیص سیستم عامل را کنار بگذارید و در حالت یونیکس اجرا کنید. همچنین ببینید
--پنجره ها, ---نمایش.
--پنجره ها
منطق تشخیص سیستم عامل را کنار بگذارید و در حالت مایکروسافت ویندوز اجرا کنید. دیدن
همچنین --یونیکس, ---نمایش.
فیلتر گزینه
--exclude-dir=[، ...]>
دایرکتوری های جدا شده با کاما را از اسکن کردن حذف کنید. مثلا:
--exclude-dir=.cache,test
تمام فایلهایی را که با "/.cache/" یا "/test/" مطابقت دارند به عنوان بخشی از مسیر آنها رد میشود.
دایرکتوری هایی با نام های ".bzr"، ".cvs"، ".hg"، ".git"، ".hg" و ".svn" همیشه هستند.
حذف شده
--exclude-ext=EXT1[,EXT2 ...]
فایل هایی را که پسوند نام فایل داده شده را دارند به حساب نیاورید.
--exclude-lang=[، ...]>
زبان های جدا شده با کاما را از شمارش حذف کنید.
--exclude-list-file=FILE
فایل هایی که نام آنها در FILE ظاهر می شود را نادیده بگیرید. FILE باید یک ورودی در هر خط داشته باشد. نسبت فامیلی
نام مسیرها با شروع از دایرکتوری که در آن cloc فراخوانی شده است حل می شود. دیدن
همچنین --list-فایل.
--match-d=REGEX
فقط فایل های موجود در فهرست های منطبق با regex پرل را بشمارید. مثلا
--match-d='/(src|شامل)/'
فقط فایل ها را در مسیرهای فهرست حاوی "/src/" یا "/include/" شمارش می کند.
--not-match-d=REGEX
شمارش همه فایل ها به جز در دایرکتوری هایی که با regex پرل مطابقت دارند.
--match-f=REGEX
فقط فایل هایی را بشمارید که نام پایه آنها با Regex Perl مطابقت دارد. به عنوان مثال این فقط به حساب می آید
فایل ها در ابتدا با ویجت یا ویجت:
--match-f='^[Ww]idget'
--not-match-f=REGEX
همه فایلها را بشمارید، به جز آنهایی که نام پایه آنها با Regex Perl مطابقت دارد.
--skip-archive=REGEX
فایل هایی را که با عبارت منظم Perl پایان می یابند نادیده بگیرید. مثلاً اگر داده شود
--skip-archive='(zip|tar(\.(gz|Z|bz2|xz|7z)))' کد فایل هایی را که به پایان می رسند رد می کند
با .zip، .tar، tar.gz، .tar.Z، .tar.bz2، .tar.xz، و tar.7z.
-- skip-win-hidden
در ویندوز، فایل های مخفی را نادیده بگیرید.
اشکال زدایی کردن گزینه
--categorized=FILE
نام فایل های دسته بندی شده را در FILE ذخیره کنید.
--counted=FILE
نام فایل های منبع پردازش شده را در FILE ذخیره کنید.
--diff-alignment=FILE
فهرستی از فایلها و جفت فایلها را در FILE بنویسید که نشان میدهد کدام فایلها اضافه، حذف شدهاند،
و/یا در طول اجرا با --تفاوت. این سوئیچ را مجبور می کند --تفاوت حالت روشن
--کمک
این اطلاعات استفاده را چاپ کنید و خارج شوید.
--found=FILE
نام هر فایل یافت شده را در FILE ذخیره کنید.
--ignored=FILE
نام فایل های نادیده گرفته شده و دلیل نادیده گرفته شدن آنها را در FILE ذخیره کنید.
--چاپ-فیلتر-مراحل
چاپ در با توجه به کد منبع پردازش شده قبل و بعد از اعمال هر فیلتر.
--show-ext[=EXT]
اطلاعات مربوط به همه پسوندهای فایل شناخته شده (یا فقط داده شده) را چاپ کنید و از آن خارج شوید.
--show-lang[=LANG]
اطلاعات مربوط به همه زبان های شناخته شده (یا فقط داده شده) را چاپ کنید و از آن خارج شوید.
---نمایش
مقدار حالت سیستم عامل را چاپ کنید و از آن خارج شوید. همچنین ببینید --یونیکس, --پنجره ها.
-v[=]>
پرمخاطب را با مقدار عددی اختیاری روشن کنید.
- نسخه
نسخه این برنامه را پرینت بگیرید و خارج شوید.
--write-lang-def=FILE
فیلترهای پردازش زبان را در FILE می نویسد سپس از آن خارج می شود. مفید به عنوان اولین قدم برای
ایجاد تعاریف زبان سفارشی همچنین ببینید --force-lang-def, --خواندن-لنگ-دف.
تولید گزینه
- 3 خروجی زبان نسل سوم را چاپ کنید. (این گزینه می تواند باعث جمع بندی گزارش شود
اگر برخی از گزارش ها با این گزینه تولید شده باشند در حالی که برخی دیگر بدون تولید شده باشند، شکست می خورد
آی تی.)
--progress-rate=N
نمایش بهروزرسانی پیشرفت پس از پردازش هر N فایل (پیشفرض N=100). N را روی 0 تنظیم کنید
سرکوب خروجی پیشرفت؛ هنگام هدایت خروجی به با توجه به.
--ساکت
تمام پیام های اطلاعاتی به جز گزارش نهایی را سرکوب کنید.
--report-file=FILE
نتایج را به جای خروجی استاندارد در FILE بنویسید.
--out=FILE
مترادف برای --report-file=FILE.
--csv
نتایج را به صورت مقادیر جدا شده با کاما بنویسید.
--csv-delimiter=C
به جای , از کاراکتر C به عنوان جداکننده برای فایل های جدا شده با کاما استفاده کنید. این
نیروهای سوئیچ --csv بودن
--sql=FILE
نتایج را به صورت دستورات SQL CREATE و INSERT بنویسید که توسط پایگاه داده قابل خواندن باشد
برنامه ای مانند SQLite اگر FILE است -، خروجی به ارسال می شود با توجه به.
--sql-project=NAME
استفاده کنید به عنوان شناسه پروژه برای اجرای فعلی. فقط با --sql
گزینه.
--sql-append
دستورات درج SQL را به فایل مشخص شده اضافه کنید --sql و جدول تولید نکنید
گزینه ایجاد
-- مجموع یک
برای گزارشهای متنی ساده، خط خروجی SUM: را نشان دهید، حتی اگر فقط یک فایل ورودی باشد
فرآوری شده.
--xml
نتایج را در XML بنویسید.
--xsl[=FILE]
FILE را به عنوان یک شیوه نامه XSL در خروجی XML ارجاع دهید. اگر FILE داده نشد،
یک شیوه نامه پیش فرض cloc.xsl می نویسد. این سوئیچ نیروها --xml بودن
-- یامل
نتایج را در YAML بنویسید.
مثال ها
خطوط کد موجود در فایل tar فشرده Perl 5.10.0 را روی یک عامل یونیکس مانند بشمارید.
سیستم:
cloc perl-5.10.0.tar.gz
تغییرات فایل ها، کدها و نظرات را بین نسخه های 2.6.6 و 2.7 پایتون بشمارید:
cloc --diff Python-2.6.6.tar.bz Python-2.7.tar.bz2
برای اینکه ببینید cloc چگونه فایل ها را برای مقایسه بین دو پایه کد تراز می کند، از
--diff-alignment=FILE گزینه. در اینجا اطلاعات تراز به "align.txt" نوشته می شود:
cloc --diff-aligment=align.txt gcc-4.4.0.tar.bz2 gcc-4.5.0.tar.bz2
زبان های شناخته شده را چاپ کنید
cloc --show-lang
نظرات را از "foo.c" حذف کنید و نتیجه را در "foo.c.nc" ذخیره کنید.
cloc --strip-comments=nc foo.c
نمونه های اضافی را می توان در یافتhttp://cloc.sourceforge.net>.
محیط زیست
ندارد.
با استفاده از خدمات onworks.net از cloc آنلاین استفاده کنید