.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "cloc 1" .TH cloc 1 2026-02-04 "cloc" "User Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" cloc \- شمارش یا محاسبه تفاوت‌های خطوط کد منبع و کامنت‌ها .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .Vb 1 \& cloc [options] ... .Ve .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" شمارش یا محاسبه تفاوت‌های خطوط فیزیکی کد منبع در فایل‌های داده‌شده (می‌تواند شامل آرشیوهایی مانند فایل‌های فشرده tarball یا zip، یا شناسه‌های هش کامیت گیت یا نام شاخه‌ها باشد) و/یا به صورت بازگشتی در زیرپوشه‌های مشخص‌شده. این برنامه کاملاً به زبان پرل و تنها با استفاده از ماژول‌های توزیع استاندارد آن نوشته شده است. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .SS "گزینه‌های ورودی (Input Options)" .IX Subsection "Input Options" برای شمارش ورودی استاندارد، از نام فایل ویژه \fB\-\fR و همراه با آن از \fB\-\-stdin\-name=FILE\fR برای اطلاع دادن نام فایل لوله‌کشی‌شده به cloc، یا \fB\-\-force\-lang=LANG\fR برای اعمال شمارنده LANG به تمام ورودی‌ها استفاده کنید. .IP \fB\-\-extract\-with=CMD\fR 4 .IX Item "--extract-with=CMD" این گزینه تنها زمانی نیاز است که cloc نتواند به تنهایی نحوه استخراج محتویات فایل(های) ورودی را تشخیص دهد. از CMD برای استخراج فایل‌های آرشیو باینری (مانند .tar.gz، .zip، .Z) استفاده کنید. از عبارت دقیق \*(Aq>FILE<\*(Aq به عنوان جایگزین فایل(های) واقعی که باید استخراج شوند استفاده نمایید. برای مثال، برای شمارش خطوط کد در فایل‌های ورودی gcc\-4.2.tar.gz perl\-5.8.8.tar.gz در یونیکس از دستور زیر استفاده کنید: .Sp .Vb 1 \& \-\-extract\-with=\*(Aqgzip \-dc >FILE< | tar xf \- .Ve .Sp یا اگر از GNU tar استفاده می‌کنید: .Sp .Vb 1 \& \-\-extract\-with=\*(Aqtar zxf >FILE<\*(Aq .Ve .Sp و در ویندوز، برای مثال: .Sp .Vb 1 \& \-\-extract\-with="\e"c:\eProgram Files\eWinZip\eWinZip32.exe\e" \-e \-o >FILE< .Ve .IP \fB\-\-list\-file=FILE\fR 4 .IX Item "--list-file=FILE" فهرست نام فایل‌ها و/یا پوشه‌ها برای پردازش را از FILE دریافت می‌کند که در هر خط آن یک نام فایل/پوشه قرار دارد. تنها موارد منطبق دقیق شمرده می‌شوند؛ مسیرهای نسبی با مبدا پوشه‌ای که cloc در آن فراخوانی شده حل‌وفصل می‌شوند. برای خواندن نام فایل‌ها از لوله STDIN، مقدار FILE را برابر \- قرار دهید. همچنین ببینید: \&\fB\-\-exclude\-list\-file\fR، \&\fB\-\-config\fR. .IP \fB\-\-diff\-list\-file=FILE\fR 4 .IX Item "--diff-list-file=FILE" جفت‌های نام فایل برای مقایسه (diff) را از FILE می‌خواند که قالب آن مطابق با خروجی \fB\-\-diff\-alignment\fR است. (برای مشاهده نمونه، آن گزینه را اجرا کنید.) شناسه زبان در انتهای هر خط نادیده گرفته می‌شود. این کار حالت \fB\-\-diff\fR را فعال کرده و منطق تراز کردن جفت فایل‌ها را دور می‌زند. همچنین ببینید: \&\fB\-\-config\fR. .IP \fB\-\-vcs=VCS\fR 4 .IX Item "--vcs=VCS" یک فراخوانی سیستمی به VCS اجرا می‌کند تا فهرستی از فایل‌ها برای کار روی آن‌ها دریافت شود. اگر VCS برابر با \*(Aqgit\*(Aq باشد، دستور \*(Aqgit ls\-files\*(Aq برای دریافت فهرست فایل‌ها و \*(Aqgit submodule status\*(Aq برای دریافت فهرست زیرماژول‌هایی که محتوایشان نادیده گرفته می‌شود فراخوانی خواهد شد. همچنین گزینه \fB\-\-git\fR را ببینید که هش‌های کامیت و نام شاخه‌های گیت را می‌پذیرد. اگر VCS برابر با \*(Aqsvn\*(Aq باشد، دستور \*(Aqsvn list \-R\*(Aq فراخوانی خواهد شد. مزیت اصلی این است که cloc فایل‌هایی را که به صراحت توسط ابزار کنترل نسخه مربوطه مستثنی شده‌اند (مانند موارد موجود در .gitignore یا دارای ویژگی svn:ignore) نادیده می‌گیرد. همچنین VCS می‌تواند هر دستور سیستمی دیگری باشد که فهرستی از فایل‌ها را تولید می‌کند. نکته: cloc باید در پوشه‌ای باشد که بتواند فایل‌های بازگردانده‌شده توسط VCS را بخواند. cloc فایل‌ها را از مخازن راه دور دانلود نمی‌کند. دستور \*(Aqsvn list \-R\*(Aq ممکن است برای به دست آوردن نام فایل‌ها به یک مخزن راه دور ارجاع دهد (و بنابراین ممکن است به احراز هویت در مخزن راه دور نیاز داشته باشد)، اما خود فایل‌ها باید محلی باشند. تنظیم VCS روی \*(Aqauto\*(Aq بر اساس وجود زیرپوشه .git یا .svn در زیر پوشه‌ای که cloc در آن فراخوانی شده، بین \*(Aqgit\*(Aq و \*(Aqsvn\*(Aq (یا هیچ‌کدام) انتخاب می‌کند. .IP \fB\-\-unicode\fR 4 .IX Item "--unicode" فایل‌های باینری را بررسی می‌کند تا ببیند آیا حاوی متن یونیکد گسترش‌یافته با کدگذاری اسکی هستند یا خیر. این کار باعث افت محسوس کارایی می‌شود. .SS "گزینه‌های پردازش (Processing Options)" .IX Subsection "Processing Options" .IP \fB\-\-autoconf\fR 4 .IX Item "--autoconf" شمارش فایل‌های .in (مشابه پردازش انجام‌شده توسط GNU autoconf) برای زبان‌های شناخته‌شده. همچنین گزینه \fB\-\-no\-autogen\fR را ببینید. .IP \fB\-\-by\-file\fR 4 .IX Item "--by-file" گزارش نتایج به تفکیک هر فایل منبع پردازش‌شده. .IP \fB\-\-by\-file\-by\-lang\fR 4 .IX Item "--by-file-by-lang" گزارش نتایج برای هر فایل منبع علاوه بر گزارش به تفکیک زبان. .IP "\fB\-\-config FILE\fR" 4 .IX Item "--config FILE" خواندن سوییچ‌های خط فرمان از FILE به جای مسیر پیش‌فرض ~/.config/cloc/options.txt. این فایل باید در هر خط شامل یک سوییچ به همراه آرگومان‌های آن (در صورت وجود) باشد. خطوط خالی و خطوطی که با \*(Aq#\*(Aq شروع می‌شوند نادیده گرفته می‌شوند. گزینه‌های مشخص‌شده در خط فرمان نسبت به موارد خوانده‌شده از فایل اولویت دارند. اگر همراه با هر یک از این سوییچ‌ها یک دایرکتوری نیز مشخص شده باشد: \-\-list\-file، \&\fB\-\-exclude\-list\-file\fR، \&\fB\-\-read\-lang\-def\fR، \&\fB\-\-force\-lang\-def\fR، \&\fB\-\-diff\-list\-file\fR و یک فایل پیکربندی در آن دایرکتوری وجود داشته باشد، آن فایل نسبت به ~/.config/cloc/options.txt اولویت خواهد داشت. .IP "\fB\-\-count\-and\-diff SET1 SET2\fR" 4 .IX Item "--count-and-diff SET1 SET2" ابتدا شمارش مستقیم کد فایل(های) منبع SET1 و SET2 را به طور جداگانه انجام داده، سپس تفاوت (diff) بین آن‌ها را محاسبه می‌کند. ورودی‌ها می‌توانند جفت فایل، دایرکتوری یا آرشیو باشند. اگر \-\-out یا \-\-report\-file مشخص شده باشد، سه فایل خروجی ایجاد می‌شود؛ یکی برای هر کدام از دو شمارش و دیگری برای تفاوت. همچنین گزینه‌های \fB\-\-diff\fR، \fB\-\-diff\-alignment\fR، \fB\-\-diff\-timeout\fR، \fB\-\-ignore\-case\fR و \fB\-\-ignore\-whitespace\fR را ببینید. .IP "\fB\-\-diff SET1 SET2\fR" 4 .IX Item "--diff SET1 SET2" محاسبه تفاوت‌های خطوط کد و کامنت‌ها بین فایل(های) منبع SET1 و SET2. ورودی‌ها می‌توانند جفت فایل، دایرکتوری یا آرشیو باشند. از \fB\-\-diff\-alignment\fR برای ایجاد فهرستی از جفت‌فایل‌های مقایسه‌شده استفاده کنید. همچنین گزینه‌های \fB\-\-count\-and\-diff\fR، \fB\-\-diff\-alignment\fR، \fB\-\-diff\-timeout\fR، \fB\-\-ignore\-case\fR و \fB\-\-ignore\-whitespace\fR را ببینید. .IP "\fB\-\-diff\-timeout N\fR" 4 .IX Item "--diff-timeout N" نادیده گرفتن فایل‌هایی که پردازش آن‌ها بیش از N ثانیه طول می‌کشد. مقدار پیش‌فرض 10 ثانیه است. تنظیم N روی 0 زمان نامحدود را در نظر می‌گیرد. (فایل‌های بزرگ با خطوط تکراری زیاد می‌توانند باعث شوند فراخوانی \&\fBAlgorithm::Diff::sdiff()\fR ساعت‌ها طول بکشد.) .IP \fB\-\-docstring\-as\-code\fR 4 .IX Item "--docstring-as-code" ابزار cloc رشته‌های مستندات (docstrings) را کامنت تلقی می‌کند، اما این همیشه درست نیست زیرا رشته‌های مستندات هنگامی که در سمت راست یک انتساب یا به عنوان آرگومان تابع قرار می‌گیرند، نشان‌دهنده رشته‌های معمولی هستند. این سوییچ شمارش رشته‌های مستندات به عنوان کد را اجبار می‌کند. .IP \fB\-\-follow\-links\fR 4 .IX Item "--follow-links" [فقط یونیکس] دنبال کردن پیوندهای نمادین به دایرکتوری‌ها (پیوندهای نمادین به فایل‌ها همیشه دنبال می‌شوند). .IP \fB\-\-force\-lang=LANG[,EXT]\fR 4 .IX Item "--force-lang=LANG[,EXT]" پردازش تمامی فایل‌های دارای پسوند EXT با شمارنده زبان LANG. برای مثال، برای شمارش تمام فایل‌های .f با شمارنده Fortran 90 (که انتظار دارد پسوند فایل‌ها .f90 باشد) به جای شمارنده پیش‌فرض Fortran 77، از دستور زیر استفاده کنید: .Sp .Vb 1 \& \-\-force\-lang="Fortran 90",f .Ve .Sp اگر EXT حذف شود، هر فایلی با شمارنده LANG شمرده خواهد شد. این گزینه می‌تواند چندین بار مشخص شود (اما این فقط زمانی مفید است که هر بار EXT مشخص گردد). همچنین گزینه‌های \fB\-\-script\-lang\fR و \fB\-\-lang\-no\-ext\fR را ببینید. .IP \fB\-\-force\-lang\-def=FILE\fR 4 .IX Item "--force-lang-def=FILE" بارگذاری فیلترهای پردازش زبان از FILE، و سپس استفاده از این فیلترها به جای فیلترهای داخلی. نکته: زبان‌هایی که به پسوند فایل یکسانی نگاشت می‌شوند (برای مثال: MATLAB/Objective\-C/MUMPS؛ Pascal/PHP؛ Lisp/OpenCL؛ Lisp/Julia؛ Perl/Prolog) نادیده گرفته خواهند شد زیرا این موارد نیاز به پردازش‌های اضافی دارند که در فایل‌های تعریف زبان بیان نمی‌شوند. از \fB\-\-read\-lang\-def\fR برای تعریف فیلترهای زبانی جدید بدون جایگزینی فیلترهای داخلی استفاده کنید (همچنین \fB\-\-write\-lang\-def\fR و \fB\-\-write\-lang\-def\-incl\-dup\fR را ببینید). .IP \fB\-\-git\fR 4 .IX Item "--git" اجبار به تفسیر ورودی‌ها به عنوان اهداف گیت (هش کامیت‌ها، نام شاخه‌ها و غیره) در صورتی که ابتدا به عنوان نام فایل یا دایرکتوری شناسایی نشوند. این گزینه در صورت تعیین شدن، منطق \-\-vcs=git را بازنویسی می‌کند؛ به عبارت دیگر، \-\-git فهرست فایل‌های خود را مستقیماً از گیت با استفاده از هش یا نام شاخه دریافت می‌کند و نه از \*(Aqgit ls\-files\*(Aq. این گزینه می‌تواند با \-\-diff برای مقایسه تفاوت خطوط بین کامیت‌های گیت، یا بین یک کامیت گیت و یک فایل، دایرکتوری یا آرشیو استفاده شود. از \-v/\-\-verbose برای مشاهده دستورات سیستمی گیت که cloc صادر می‌کند استفاده کنید. .IP \fB\-\-git\-diff\-rel\fR 4 .IX Item "--git-diff-rel" مشابه با \fB\-\-git \-\-diff\fR، یا فقط \fB\-\-diff\fR اگر ورودی‌ها به عنوان اهداف گیت شناخته شوند. تنها فایل‌هایی که در یکی از کامیت‌ها تغییر کرده‌اند مقایسه می‌شوند. .IP \fB\-\-git\-diff\-all\fR 4 .IX Item "--git-diff-all" راهبرد دوم مقایسه گیت (git diff): مقایسه تمامی فایل‌های موجود در مخزن بین دو کامیت. .IP \fB\-\-ignore\-whitespace\fR 4 .IX Item "--ignore-whitespace" نادیده گرفتن فاصله‌های خالی افقی هنگام مقایسه فایل‌ها با \fB\-\-diff\fR. همچنین \fB\-\-ignore\-case\fR را ببینید. .IP \fB\-\-ignore\-case\fR 4 .IX Item "--ignore-case" نادیده گرفتن تفاوت حروف کوچک و بزرگ در محتوای فایل‌ها؛ در نظر گرفتن حروف بزرگ و کوچک به عنوان معادل هنگام مقایسه فایل‌ها با \fB\-\-diff\fR. همچنین \&\fB\-\-ignore\-whitespace\fR را ببینید. .IP \fB\-\-ignore\-case\-ext\fR 4 .IX Item "--ignore-case-ext" نادیده گرفتن بزرگی و کوچکی حروف در پسوند نام فایل‌ها. این امر ممکن است در شمارش برخی زبان‌ها مشکل ایجاد کند (به طور خاص، .c و .C به C و C++ مرتبط هستند؛ این سوییچ باعث می‌شود فایل‌های .C در سیستم‌عامل‌های شبه‌یونیکس به عنوان C به جای C++ شمرده شوند). حساس نبودن نام فایل به حروف کوچک و بزرگ در ویندوز همیشه برقرار است. .IP \fB\-\-ignore\-regex\fR 4 .IX Item "--ignore-regex" نادیده گرفتن خطوطی در فایل‌های منبع که با عبارت منظم پرل ارائه‌شده برای زبان(های) داده‌شده تطابق دارند. این گزینه را می‌توان چندین بار مشخص کرد. نام زبان‌ها با کاما از هم جدا شده و پس از آن نویسه خط لوله (|) و عبارت منظم می‌آید. از * برای مطابقت با تمام زبان‌ها استفاده کنید. مثال‌ها: .Sp .Vb 2 \& \-\-ignore\-regex=\*(AqC,Java,C++|^\es*[{};]\es*$\*(Aq \& \-\-ignore\-regex=\*(Aq*|DEBUG|TEST\es+ONLY\*(Aq .Ve .Sp این فیلترها پس از حذف کامنت‌ها اعمال می‌شوند. برای ایجاد فایل‌های جدیدی که اعمال این فیلترها را نشان می‌دهند، از \-\-strip\-comments=EXT استفاده کنید. کاربرد اصلی نادیده گرفتن خطوطی است که تنها شامل آکولاد، کروشه یا علائم نگارشی هستند. .IP \fB\-\-include\-submodules\fR 4 .IX Item "--include-submodules" هنگام استفاده از \fB\-\-vcs=git\fR، فایل‌های موجود در زیرماژول‌های گیت را نیز شامل می‌کند. .IP \fB\-\-lang\-no\-ext=LANG\fR 4 .IX Item "--lang-no-ext=LANG" شمارش فایل‌های بدون پسوند با استفاده از شمارنده LANG. این گزینه منطق داخلی برای فایل‌های بدون پسوند را بازنویسی می‌کند (که در آن چنین فایل‌هایی با بررسی خط اول برای \f(CW\*(C`#!\*(C'\fR در برابر زبان‌های اسکریپت‌نویسی شناخته‌شده بررسی می‌شوند). همچنین گزینه‌های \fB\-\-force\-lang\fR و \fB\-\-script\-lang\fR را ببینید. .IP \fB\-\-max\-file\-size=MB\fR 4 .IX Item "--max-file-size=MB" صرف‌نظر کردن از فایل‌های بزرگ‌تر از \f(CW\*(C`MB\*(C'\fR مگابایت هنگام پیمایش دایرکتوری‌ها. به طور پیش‌فرض، مقدار \f(CW\*(C`MB\*(C'\fR برابر ۱۰۰ است. حافظه مورد نیاز cloc تقریباً بیست برابر بزرگ‌تر از بزرگ‌ترین فایل است، بنابراین اجرای برنامه با فایل‌های بزرگ‌تر از ۱۰۰ مگابایت روی رایانه‌ای با کمتر از ۲ گیگابایت حافظه رم مشکل‌ساز خواهد شد. نکته: این بررسی روی فایل‌هایی که صریحاً به عنوان آرگومان خط فرمان داده شده‌اند اعمال نمی‌شود. .IP \fB\-\-no\-autogen[=list]\fR 4 .IX Item "--no-autogen[=list]" نادیده گرفتن فایل‌های تولیدشده توسط سیستم‌های خودکار تولید کد مانند GNU autoconf. برای مشاهده فهرستی از این فایل‌ها (و سپس خروج)، برنامه را با \fB\-\-no\-autogen list\fR اجرا کنید. همچنین \fB\-\-autoconf\fR را ببینید. .IP \fB\-\-no\-recurse\fR 4 .IX Item "--no-recurse" شمارش فایل‌ها در دایرکتوری‌های داده‌شده بدون پیمایش بازگشتی در زیرپوشه‌ها. .IP \fB\-\-only\-count\-files\fR 4 .IX Item "--only-count-files" تنها شمارش تعداد فایل‌ها بر اساس زبان. تعداد خطوط خالی، کامنت‌ها و کد صفر خواهد بود. .IP \fB\-\-original\-dir\fR 4 .IX Item "--original-dir" تنها در ترکیب با \fB\-\-strip\-comments\fR مؤثر است. فایل‌های پیراسته‌شده (بدون کامنت) را در همان دایرکتوری فایل‌های اصلی می‌نویسد. .IP \fB\-\-read\-binary\-files\fR 4 .IX Item "--read-binary-files" پردازش فایل‌های باینری علاوه بر فایل‌های متنی. این کار معمولاً ایده بدی است و تنها باید برای فایل‌های متنی حاوی داده‌های باینری تعبیه‌شده امتحان شود. .IP \fB\-\-read\-lang\-def=FILE\fR 4 .IX Item "--read-lang-def=FILE" بارگذاری فیلترهای پردازش زبان جدید از FILE و ادغام آن‌ها با فیلترهایی که cloc از قبل می‌شناسد. اگر FILE زبانی را تعریف کند که cloc از قبل می‌شناسد، تعاریف خود cloc اولویت خواهند داشت. برای بازنویسی تعاریف cloc از \fB\-\-force\-lang\-def\fR استفاده کنید (همچنین \fB\-\-write\-lang\-def\fR را ببینید). .IP \fB\-\-script\-lang=LANG,S\fR 4 .IX Item "--script-lang=LANG,S" پردازش تمام فایل‌هایی که \f(CW\*(C`S\*(C'\fR را به عنوان زبان اسکریپت‌نویسی \f(CW\*(C`#!\*(C'\fR فراخوانی می‌کنند، با شمارنده زبان LANG. برای مثال، فایل‌هایی که با \f(CW\*(C`#!/usr/local/bin/perl5.8.8\*(C'\fR شروع می‌شوند، با استفاده از دستور زیر با شمارنده Perl شمرده خواهند شد: .Sp .Vb 1 \& \-\-script\-lang=Perl,perl5.8.8 .Ve .Sp نام زبان به حروف کوچک و بزرگ حساس نیست اما نام فایل اجرایی زبان اسکریپتی، \f(CW\*(C`S\*(C'\fR، باید بزرگی و کوچکی حروف درستی داشته باشد. این گزینه می‌تواند چندین بار مشخص شود. همچنین \fB\-\-force\-lang\fR را ببینید. .IP \fB\-\-sdir=DIR\fR 4 .IX Item "--sdir=DIR" استفاده از DIR به عنوان دایرکتوری موقت (scratch) به جای اجازه دادن به \fIFile::Temp\fR برای انتخاب مکان. فایل‌های نوشته‌شده در این مکان در پایان اجرا حذف نمی‌شوند (برخلاف \fIFile::Temp\fR). .IP \fB\-\-skip\-leading=N[,ext]\fR 4 .IX Item "--skip-leading=N[,ext]" .Vb 3 \& صرف‌نظر کردن از خط اول هر فایل. اگر فهرستی از \&پسوندها نیز با کاما جدا شده و ارائه شود، تنها از خطوط \&آن نوع فایل‌ها صرف‌نظر می‌شود. مثال: \& \& \-\-skip\-leading=10,cpp,h .Ve .Sp از ده خط اول فایل‌های *.cpp و *.h صرف‌نظر می‌کند. این قابلیت برای نادیده گرفتن متون تکراری و قالبی مفید است. .IP \fB\-\-skip\-uniqueness\fR 4 .IX Item "--skip-uniqueness" صرف‌نظر کردن از بررسی یکتایی فایل‌ها. این کار عملکرد را افزایش می‌دهد، اما در ازای شمارش چندباره فایل‌هایی با محتوای یکسان (در صورت وجود چنین فایل‌های تکراری). .IP \fB\-\-stat\fR 4 .IX Item "--stat" برخی فایل‌سیستم‌ها (AFS، CD\-ROM، FAT، HPFS، SMB) تعداد پیوند دایرکتوری (\*(Aqnlink\*(Aq) متناسب با تعداد زیرپوشه‌های خود ندارند. در نتیجه ممکن است cloc محتویات چنین فایل‌سیستم‌هایی را کمتر از واقعیت بشمارد یا به طور کامل نادیده بگیرد. این سوییچ File::Find را وادار می‌کند تا با stat کردن دایرکتوری‌ها، تعداد صحیح را به دست آورد. سرعت جستجوی فایل کاهش خواهد یافت. همچنین \fB\-\-follow\-links\fR را ببینید. .IP \fB\-\-stdin\-name=FILE\fR 4 .IX Item "--stdin-name=FILE" شمارش خطوط ارائه‌شده از طریق ورودی استاندارد (\fISTDIN\fR) به گونه‌ای که گویی از فایلی به نام FILE آمده‌اند. .IP \fB\-\-strip\-code=EXT\fR 4 .IX Item "--strip-code=EXT" به ازای هر فایل پردازش‌شده، نسخه‌ای از فایل را که خطوط خالی و کد آن حذف شده‌اند در دایرکتوری جاری می‌نویسد. نام هر فایل پیراسته‌شده، نام فایل اصلی به همراه \f(CW\*(C`.EXT\*(C'\fR در انتهای آن است. این فایل در دایرکتوری جاری نوشته می‌شود مگر اینکه گزینه \fB\-\-original\-dir\fR فعال باشد. .IP \fB\-\-strip\-comments=EXT\fR 4 .IX Item "--strip-comments=EXT" به ازای هر فایل پردازش‌شده، نسخه‌ای از فایل را که خطوط خالی و کامنت آن حذف شده‌اند در دایرکتوری جاری می‌نویسد (کامنت‌های درون‌خطی باقی می‌مانند). نام هر فایل پیراسته‌شده، نام فایل اصلی به همراه \f(CW\*(C`.EXT\*(C'\fR در انتهای آن است. این فایل در دایرکتوری جاری نوشته می‌شود مگر اینکه گزینه \fB\-\-original\-dir\fR فعال باشد. .IP \fB\-\-strip\-str\-comments\fR 4 .IX Item "--strip-str-comments" جایگزینی نشانگرهای کامنت تعبیه‌شده در رشته‌ها با \*(Aqxx\*(Aq. این گزینه تلاش می‌کند تا محدودیتی در Regexp::Common::Comment را برطرف کند که در آن نشانگرهای کامنت درون رشته‌ها به عنوان کامنت واقعی در نظر گرفته می‌شوند و نه رشته، که اغلب منجر به هشدار \*(AqComplex regular subexpression recursion limit\*(Aq و شمارش نادرست می‌شود. استفاده از این سوییچ دو عیب دارد: ۱. افت عملکرد شمارش کد، ۲. کدهای تولیدشده با \fB\-\-strip\-comments\fR در هر جایی که کامنت‌های تعبیه‌شده یافت شوند حاوی رشته‌های متفاوتی خواهند بود. .IP \fB\-\-sum\-reports\fR 4 .IX Item "--sum-reports" آرگومان‌های ورودی فایل‌های گزارشی هستند که پیش‌تر با گزینه \fB\-\-report\-file\fR ایجاد شده‌اند. مجموعه‌ای تجمیعی از نتایج حاوی جمع داده‌های هر یک از فایل‌های گزارش تولید می‌کند. .IP \fB\-\-timeout=N\fR 4 .IX Item "--timeout=N" نادیده گرفتن فایل‌هایی که پردازش آن‌ها در هر یک از مراحل فیلتر زبان بیش از ثانیه طول می‌کشد. حداکثر زمان پیش‌فرض صرف‌شده برای یک مرحله فیلتر، تعداد خطوط فایل تقسیم بر ۱۰۰۰ است. تنظیم \fBN\fR روی 0 زمان نامحدود را در نظر می‌گیرد. همچنین \fB\-\-diff\-timeout\fR را ببینید. .IP \fB\-\-processes=NUM\fR 4 .IX Item "--processes=NUM" [تنها در سیستم‌هایی با نسخه جدید ماژول Parallel::ForkManager در دسترس است. در ویندوز موجود نیست.] حداکثر تعداد هسته‌های پردازشی مورد استفاده cloc را تعیین می‌کند. مقدار پیش‌فرض 0 چندپردازشی را غیرفعال می‌کند. .IP \fB\-\-unix\fR 4 .IX Item "--unix" نادیده گرفتن منطق تشخیص سیستم‌عامل و اجرا در حالت یونیکس (UNIX). همچنین گزینه‌های \fB\-\-windows\fR و \fB\-\-show\-os\fR را ببینید. .IP \fB\-\-use\-sloccount\fR 4 .IX Item "--use-sloccount" اگر ابزار SLOCCount نصب باشد، از برنامه‌های اجرایی کامپایل‌شده آن یعنی c_count، java_count، pascal_count، php_count و xml_count به جای شمارنده‌های cloc استفاده می‌کند. شمارنده‌های کامپایل‌شده SLOCCount به طور قابل توجهی سریع‌تر از cloc هستند و ممکن است هنگام شمارش پروژه‌هایی با فایل‌های حجیم، بهبود کارایی ایجاد کنند. با این حال، قابلیت‌های ویژه cloc در دسترس نخواهند بود: \fB\-\-diff\fR، \fB\-\-count\-and\-diff\fR، \fB\-\-strip\-comments\fR، \fB\-\-unicode\fR. .IP \fB\-\-windows\fR 4 .IX Item "--windows" نادیده گرفتن منطق تشخیص سیستم‌عامل و اجرا در حالت مایکروسافت ویندوز. همچنین گزینه‌های \fB\-\-unix\fR و \fB\-\-show\-os\fR را ببینید. .SS "گزینه‌های فیلتر (Filter Options)" .IX Subsection "Filter Options" .IP \fB\-\-include\-content=REGEX\fR 4 .IX Item "--include-content=REGEX" تنها فایل‌هایی را می‌شمارد که حاوی متنی منطبق بر عبارت منظم داده‌شده باشند. .IP \fB\-\-exclude\-content=REGEX\fR 4 .IX Item "--exclude-content=REGEX" فایل‌هایی را که حاوی متنی منطبق بر عبارت منظم داده‌شده باشند مستثنی می‌کند. .IP "\fB\-\-exclude\-dir=DIR1[,DIR2 ...]\fR" 4 .IX Item "--exclude-dir=DIR1[,DIR2 ...]" دایرکتوری‌های داده‌شده را که با کاما از هم جدا شده‌اند از پویش مستثنی می‌کند. برای مثال: .Sp .Vb 1 \& \-\-exclude\-dir=.cache,test .Ve .Sp از تمام فایل‌هایی که مسیر آن‌ها شامل \f(CW\*(C`/.cache/\*(C'\fR یا \f(CW\*(C`/test/\*(C'\fR باشد صرف‌نظر می‌کند. دایرکتوری‌های به نام \f(CW\*(C`.bzr\*(C'\fR، \f(CW\*(C`.cvs\*(C'\fR، \f(CW\*(C`.hg\*(C'\fR، \f(CW\*(C`.git\*(C'\fR و \f(CW\*(C`.svn\*(C'\fR همیشه مستثنی هستند. این گزینه فقط با نام‌های تکی دایرکتوری کار می‌کند، بنابراین درج جداکننده‌های مسیر فایل مجاز نیست. از \fB\-\-fullpath\fR و \fB\-\-not\-match\-d=REGEX\fR برای ارائه یک عبارت منظم که با چندین زیرپوشه مطابقت داشته باشد استفاده کنید. .IP "\fB\-\-exclude\-ext=EXT1[,EXT2 ...]\fR" 4 .IX Item "--exclude-ext=EXT1[,EXT2 ...]" فایل‌های دارای پسوندهای نام فایل مشخص‌شده را نمی‌شمارد. .IP \fB\-\-exclude\-lang=L1[,L2[...]]\fR 4 .IX Item "--exclude-lang=L1[,L2[...]]" زبان‌های داده‌شده را که با کاما از هم جدا شده‌اند از شمارش مستثنی می‌کند. .IP \fB\-\-exclude\-list\-file=FILE\fR 4 .IX Item "--exclude-list-file=FILE" فایل‌ها و/یا دایرکتوری‌هایی را که نام آن‌ها در FILE آمده است نادیده می‌گیرد. FILE باید در هر خط حاوی یک نام فایل باشد. تنها موارد منطبق دقیق نادیده گرفته می‌شوند؛ مسیرهای نسبی با مبدا دایرکتوری فراخوانی cloc حل‌وفصل می‌شوند. همچنین گزینه‌های \fB\-\-list\-file\fR و \fB\-\-config\fR را ببینید. .IP \fB\-\-fullpath\fR 4 .IX Item "--fullpath" رفتار \fB\-\-match\-f\fR یا \fB\-\-not\-match\-f\fR را تغییر می‌دهد تا مسیر فایل نیز در عبارت منظم گنجانده شود، نه فقط نام پایه (basename) فایل. (این گزینه هر فایل را به مسیر مطلق آن بسط نمی‌دهد، بلکه از همان مقداری از مسیر که به cloc ارسال شده استفاده می‌کند.) .IP \fB\-\-include\-ext= 4 .IX Item "--include-ext=" تنها زبان‌هایی را می‌شمارد که دارای پسوند فایل داده‌شده (جداشده با کاما) باشند. برای مشاهده پسوندهای شناخته‌شده از \fB\-\-show\-ext\fR استفاده کنید. .IP "\fB\-\-include\-lang=L1[,L2 ...]\fR" 4 .IX Item "--include-lang=L1[,L2 ...]" تنها زبان‌های مشخص‌شده غیرحساس به حروف کوچک و بزرگ L1، L2، L3 و غیره را می‌شمارد. .IP \fB\-\-match\-d=REGEX\fR 4 .IX Item "--match-d=REGEX" تنها فایل‌های موجود در دایرکتوری‌هایی را می‌شمارد که با عبارت منظم پرل مطابقت دارند. برای مثال: .Sp .Vb 1 \& \-\-match\-d=\*(Aq/(src|include)/\*(Aq .Ve .Sp تنها فایل‌هایی را در مسیرهای دایرکتوری می‌شمارد که حاوی \f(CW\*(C`/src/\*(C'\fR یا \f(CW\*(C`/include/\*(C'\fR باشند. .IP \fB\-\-not\-match\-d=REGEX\fR 4 .IX Item "--not-match-d=REGEX" تمام فایل‌ها را می‌شمارد به جز فایل‌های موجود در دایرکتوری‌هایی که با عبارت منظم پرل مطابقت دارند. تنها نام دایرکتوری انتهایی مقایسه می‌شود؛ به عنوان مثال هنگام شمارش در \f(CW\*(C`/usr/local/lib\*(C'\fR، تنها \f(CW\*(C`lib\*(C'\fR با عبارت منظم مقایسه می‌شود. گزینه \fB\-\-fullpath\fR را اضافه کنید تا دایرکتوری‌های والد نیز با عبارت منظم مقایسه شوند. در ابتدا یا انتهای عبارت منظم جداکننده‌های مسیر فایل را قرار ندهید. این سوییچ می‌تواند تکرار شود. .IP \fB\-\-match\-f=REGEX\fR 4 .IX Item "--match-f=REGEX" تنها فایل‌هایی را می‌شمارد که نام پایه آن‌ها با عبارت منظم پرل مطابقت دارد. برای مثال دستور زیر تنها فایل‌هایی را می‌شمارد که با Widget یا widget شروع می‌شوند: .Sp .Vb 1 \& \-\-match\-f=\*(Aq^[Ww]idget\*(Aq .Ve .Sp گزینه \fB\-\-fullpath\fR را اضافه کنید تا به جای فقط نام پایه، دایرکتوری‌های والد نیز در عبارت منظم لحاظ شوند. .IP \fB\-\-not\-match\-f=REGEX\fR 4 .IX Item "--not-match-f=REGEX" تمام فایل‌ها به جز آن‌هایی که نام پایه آن‌ها با عبارت منظم پرل مطابقت دارد را می‌شمارد. گزینه \fB\-\-fullpath\fR را اضافه کنید تا دایرکتوری‌های والد نیز در عبارت منظم لحاظ شوند. این سوییچ می‌تواند تکرار شود. .IP \fB\-\-skip\-archive=REGEX\fR 4 .IX Item "--skip-archive=REGEX" فایل‌هایی را که با عبارت منظم پرل داده‌شده پایان می‌یابند نادیده می‌گیرد. برای مثال، اگر داده شود: .Sp .Vb 1 \& \-\-skip\-archive=\*(Aq(zip|tar(\e.(gz|Z|bz2|xz|7z))?)\*(Aq .Ve .Sp کد از فایل‌هایی که با .zip، .tar، .tar.gz، .tar.Z، .tar.bz2، .tar.xz و .tar.7z خاتمه می‌یابند صرف‌نظر می‌کند. .IP \fB\-\-skip\-win\-hidden\fR 4 .IX Item "--skip-win-hidden" در ویندوز، فایل‌های پنهان را نادیده می‌گیرد. .SS "گزینه‌های اشکال‌زدایی (Debug Options)" .IX Subsection "Debug Options" .IP \fB\-\-categorized=FILE\fR 4 .IX Item "--categorized=FILE" ذخیره اندازه فایل‌ها بر حسب بایت، زبان‌های شناسایی‌شده و نام فایل‌های دسته‌بندی‌شده در FILE. .IP \fB\-\-counted=FILE\fR 4 .IX Item "--counted=FILE" ذخیره نام فایل‌های منبع پردازش‌شده در FILE. همچنین گزینه‌های \fB\-\-found\fR، \fB\-\-ignored\fR و \fB\-\-unique\fR را ببینید. .IP \fB\-\-diff\-alignment=FILE\fR 4 .IX Item "--diff-alignment=FILE" نوشتن فهرستی از فایل‌ها و جفت‌فایل‌ها در FILE که نشان می‌دهد کدام فایل‌ها در حین اجرا با \fB\-\-diff\fR اضافه، حذف و/یا مقایسه شده‌اند. این سوییچ حالت \fB\-\-diff\fR را به اجبار فعال می‌کند. .IP \fB\-\-explain=LANG\fR 4 .IX Item "--explain=LANG" چاپ فیلترهای استفاده‌شده برای حذف کامنت‌ها برای زبان LANG و سپس خروج. در برخی موارد فیلترها به جای عبارات منظم به سابروتین‌های پرل ارجاع دارند. برای توضیحات بیشتر ممکن است بررسی کد منبع لازم باشد. .IP \fB\-\-help\fR 4 .IX Item "--help" چاپ اطلاعات راهنمای داخلی استفاده از cloc و خروج. .IP \fB\-\-found=FILE\fR 4 .IX Item "--found=FILE" ذخیره نام تک‌تک فایل‌های یافت‌شده در FILE. همچنین گزینه‌های \fB\-\-counted\fR، \fB\-\-ignored\fR و \fB\-\-unique\fR را ببینید. .IP \fB\-\-ignored=FILE\fR 4 .IX Item "--ignored=FILE" ذخیره نام فایل‌های نادیده‌گرفته‌شده و دلیل نادیده گرفتن آن‌ها در FILE. همچنین گزینه‌های \fB\-\-counted\fR، \fB\-\-found\fR و \fB\-\-unique\fR را ببینید. .IP \fB\-\-print\-filter\-stages\fR 4 .IX Item "--print-filter-stages" چاپ کد منبع پردازش‌شده در \fISTDOUT\fR قبل و بعد از اعمال هر فیلتر. .IP \fB\-\-show\-ext[=EXT]\fR 4 .IX Item "--show-ext[=EXT]" چاپ اطلاعات مربوط به تمامی پسوندهای فایل شناخته‌شده (یا فقط پسوند داده‌شده) و خروج. .IP \fB\-\-show\-errors[=EXT]\fR 4 .IX Item "--show-errors[=EXT]" هنگام استفاده با \fB\-\-quiet\fR، پیام‌های خطا (در صورت وجود) را چاپ می‌کند. .IP \fB\-\-show\-lang[=LANG]\fR 4 .IX Item "--show-lang[=LANG]" چاپ اطلاعات درباره تمام زبان‌های شناخته‌شده (یا فقط زبان داده‌شده) و خروج. .IP \fB\-\-show\-os\fR 4 .IX Item "--show-os" چاپ مقدار حالت سیستم‌عامل و خروج. همچنین گزینه‌های \fB\-\-unix\fR و \fB\-\-windows\fR را ببینید. .IP \fB\-\-quiet\fR 4 .IX Item "--quiet" فرونشاندن تمام پیام‌های اطلاعاتی به جز خروجی نهایی. همچنین \fB\-\-show\-errors\fR را ببینید. .IP \fB\-\-unique=FILE\fR 4 .IX Item "--unique=FILE" ذخیره نام فایل‌های نادیده‌گرفته‌شده و دلیل نادیده گرفتن آن‌ها در FILE. همچنین گزینه‌های \fB\-\-counted\fR، \fB\-\-found\fR و \fB\-\-ignored\fR را ببینید. .IP \fB\-v[=N]\fR 4 .IX Item "-v[=N]" فعال‌سازی حالت پرگویی با مقدار عددی اختیاری. .IP \fB\-\-verbose[=N]\fR 4 .IX Item "--verbose[=N]" شکل بلند سوییچ \fB\-v\fR. .IP \fB\-\-version\fR 4 .IX Item "--version" چاپ نسخه این برنامه و خروج. .IP \fB\-\-write\-lang\-def=FILE\fR 4 .IX Item "--write-lang-def=FILE" نوشتن فیلترهای پردازش زبان در FILE و سپس خروج. به عنوان گام نخست برای ایجاد تعاریف زبان سفارشی مفید است. نکته: زبان‌هایی که به یک پسوند یکسان نگاشت می‌شوند مستثنی خواهند شد. همچنین گزینه‌های \fB\-\-force\-lang\-def\fR و \fB\-\-read\-lang\-def\fR را ببینید. .IP \fB\-\-write\-lang\-def\-incl\-dup=FILE\fR 4 .IX Item "--write-lang-def-incl-dup=FILE" مشابه \fB\-\-write\-lang\-def\fR، اما شامل پسوندهای تکراری نیز می‌شود. این کار یک فایل تعریف زبان مشکل‌دار ایجاد می‌کند زیرا cloc از استفاده از آن تا زمان حذف موارد تکراری خودداری خواهد کرد. .SS "گزینه‌های خروجی (Output Options)" .IX Subsection "Output Options" .IP \fB\-\-3\fR 4 .IX Item "--3" چاپ خروجی زبان‌های نسل سوم. (این گزینه در صورت تولید برخی گزارش‌ها با این گزینه و برخی بدون آن، می‌تواند باعث عدم موفقیت در تجمیع گزارش‌ها شود.) .IP "\fB\-\-by\-percent X\fR" 4 .IX Item "--by-percent X" نمایش مقادیر به صورت درصدی بر اساس مقدار X در مخرج به جای شمارش خطوط کامنت و خالی، که در آن X یکی از موارد زیر است: c به معنای خطوط کد cm به معنای خطوط کد + کامنت‌ها cb به معنای خطوط کد + خطوط خالی cmb به معنای خطوط کد + کامنت‌ها + خطوط خالی .Sp برای مثال، در صورت استفاده از روش \*(Aqc\*(Aq و اگر کد شما دو برابر خطوط کد خطوط کامنت داشته باشد، مقدار ستون کامنت ۲۰۰٪ خواهد بود. ستون کد همچنان به صورت تعداد خط باقی می‌ماند. .IP \fB\-\-csv\fR 4 .IX Item "--csv" نوشتن نتایج به صورت مقادیر جداشده با کاما (CSV). .IP \fB\-\-csv\-delimiter=C\fR 4 .IX Item "--csv-delimiter=C" استفاده از نویسه C به عنوان جداکننده برای فایل‌های CSV به جای کاما (,). این سوییچ \fB\-\-csv\fR را به اجبار فعال می‌کند. .IP \fB\-\-file\-encoding=E\fR 4 .IX Item "--file-encoding=E" نوشتن فایل‌های خروجی با استفاده از کدگذاری \fBE\fR به جای اسکی پیش‌فرض (\fBE\fR = \*(AqUTF\-7\*(Aq). مثال‌ها: \*(AqUTF\-16\*(Aq، \&\*(Aqeuc\-kr\*(Aq، \*(Aqiso\-8859\-16\*(Aq. کدگذاری‌های شناخته‌شده را می‌توان با دستور زیر چاپ کرد: perl \-MEncode \-e \*(Aqprint join("\en", Encode\->encodings(":all")), "\en"\*(Aq .IP \fB\-\-fmt=N\fR 4 .IX Item "--fmt=N" قالب متنی جایگزین خروجی که در آن \fBN\fR عددی از ۱ تا ۵ یا از ۱- تا ۵- است. عبارت \*(Aqtotal lines\*(Aq به معنای مجموع خطوط کد، کامنت و خطوط خالی است. مقادیر منفی مشابه مقادیر مثبت هستند اما به جای حذف فایل واسط JSON نوشته‌شده، آن را نگه می‌دارند. نام فایل JSON به صورت تصادفی تولید می‌شود مگر اینکه \-\-out/\-\-report\-file مشخص شده باشد. قالب‌ها عبارتند از: 1: بر اساس زبان (مشابه خروجی پیش‌فرض cloc) 2: بر اساس زبان با یک ستون اضافه برای کل خطوط 3: بر اساس فایل به همراه زبان 4: بر اساس فایل با ستون کل خطوط 5: بر اساس فایل به همراه زبان و ستون کل خطوط .IP \fB\-\-hide\-rate\fR 4 .IX Item "--hide-rate" عدم نمایش نرخ پردازش خطوط و فایل‌ها در هدر خروجی. این کار خروجی را قطعی (deterministic) می‌کند. .IP \fB\-\-json\fR 4 .IX Item "--json" نوشتن نتایج در قالب نشانه‌گذاری شیء جاوااسکریپت (JSON). .IP \fB\-\-md\fR 4 .IX Item "--md" نوشتن نتایج به عنوان متن قالب‌بندی‌شده به زبان مارک‌داون (Markdown). .IP \fB\-\-out=FILE\fR 4 .IX Item "--out=FILE" هم‌معنی با \fB\-\-report\-file=FILE\fR. .IP \fB\-\-progress\-rate=N\fR 4 .IX Item "--progress-rate=N" نمایش به‌روزرسانی پیشرفت پس از پردازش هر N فایل (پیش‌فرض N=100). تنظیم N روی 0 برای فرونشاندن خروجی پیشرفت؛ هنگام تغییر مسیر خروجی به \fISTDOUT\fR مفید است. .IP \fB\-\-quiet\fR 4 .IX Item "--quiet" فرونشاندن تمام پیام‌های اطلاعاتی به جز گزارش نهایی. .IP \fB\-\-report\-file=FILE\fR 4 .IX Item "--report-file=FILE" نوشتن نتایج در FILE به جای خروجی استاندارد. .IP \fB\-\-summary\-cutoff=X:N\fR 4 .IX Item "--summary-cutoff=X:N" تجمیع نتایجی که دارای خطوط X کمتر از N هستند در دسته \*(AqOther\*(Aq (سایر موارد)، که در آن X یکی از موارد زیر است: c به معنای خطوط کد f به معنای فایل‌ها m به معنای خطوط کامنت cm به معنای خطوط کد + کامنت‌ها افزودن علامت درصد به N، محاسبه را از شمارش مستقیم به درصد تغییر می‌دهد. همراه با \-\-diff یا \-\-by\-file نادیده گرفته می‌شود. .IP \fB\-\-sql=FILE\fR 4 .IX Item "--sql=FILE" نوشتن نتایج به صورت عبارات SQL CREATE و INSERT که توسط یک برنامه پایگاه‌داده مانند SQLite قابل خواندن باشد. اگر FILE برابر \fB\-\fR باشد، خروجی به \fISTDOUT\fR ارسال می‌شود. .IP \fB\-\-sql\-append\fR 4 .IX Item "--sql-append" الحاق عبارات درج SQL (INSERT) به فایل مشخص‌شده با \fB\-\-sql\fR و عدم تولید گزینه ایجاد جدول (CREATE TABLE). .IP \fB\-\-sql\-project=NAME\fR 4 .IX Item "--sql-project=NAME" استفاده از \fBname\fR به عنوان شناسه پروژه برای اجرای جاری. تنها همراه با گزینه \fB\-\-sql\fR معتبر است. .IP \fB\-\-sql\-style=STYLE\fR 4 .IX Item "--sql-style=STYLE" نوشتن عبارات SQL در سبک داده‌شده به جای فرمت پیش‌فرض SQLite. سبک‌ها شامل \fBOracle\fR و \fBNamed_Columns\fR هستند. .IP \fB\-\-sum\-one\fR 4 .IX Item "--sum-one" برای گزارش‌های متنی ساده، نمایش خط خروجی SUM: حتی اگر تنها یک فایل ورودی پردازش شده باشد. .IP \fB\-\-xml\fR 4 .IX Item "--xml" نوشتن نتایج در قالب XML. .IP \fB\-\-xsl[=FILE]\fR 4 .IX Item "--xsl[=FILE]" ارجاع به FILE به عنوان شیوه‌نامه XSL درون خروجی XML. اگر FILE داده نشود، یک شیوه‌نامه پیش‌فرض به نام cloc.xsl می‌نویسد. این سوییچ \fB\-\-xml\fR را به اجبار فعال می‌کند. .IP \fB\-\-yaml\fR 4 .IX Item "--yaml" نوشتن نتایج در قالب YAML. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" شمارش خطوط کد در یک فایل tar فشرده پرل 5.10.0 در سیستم‌عامل شبه‌یونیکس: .PP .Vb 1 \& cloc perl\-5.10.0.tar.gz .Ve .PP شمارش تغییرات در فایل‌ها، کد و کامنت‌ها بین نسخه‌های 2.6.6 و 2.7 پایتون: .PP .Vb 1 \& cloc \-\-diff Python\-2.6.6.tar.bz Python\-2.7.tar.bz2 .Ve .PP برای مشاهده چگونگی تراز کردن فایل‌ها توسط cloc جهت مقایسه بین دو پایگاه کد، از گزینه \fB\-\-diff\-alignment=FILE\fR استفاده کنید. در اینجا اطلاعات تراز در \f(CW\*(C`align.txt\*(C'\fR نوشته می‌شود: .PP .Vb 1 \& cloc \-\-diff\-alignment=align.txt gcc\-4.4.0.tar.bz2 gcc\-4.5.0.tar.bz2 .Ve .PP شمارش تغییرات فایل، کد و کامنت بین دو کامیت گیت: .PP .Vb 1 \& cloc \-\-git \-\-diff b409850824 HEAD .Ve .PP چاپ زبان‌های شناخته‌شده: .PP .Vb 1 \& cloc \-\-show\-lang .Ve .PP حذف کامنت‌ها از \f(CW\*(C`foo.c\*(C'\fR و ذخیره نتیجه در \f(CW\*(C`foo.c.nc\*(C'\fR (پسوند "nc" دلخواه است؛ در اینجا برای نشان دادن "بدون کامنت" استفاده شده است): .PP .Vb 1 \& cloc \-\-strip\-comments=nc foo.c .Ve .PP مثال‌های بیشتر را می‌توان در یافت. .SH "محیط (ENVIRONMENT)" .IX Header "ENVIRONMENT" ندارد. .SH "فایل‌ها (FILES)" .IX Header "FILES" ندارد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBsloccount\fR\|(1) .SH "نویسندگان (AUTHORS)" .IX Header "AUTHORS" برنامه cloc توسط Al Danial نوشته شده است و حق نشر آن (C) 2006\-2026 متعلق به است. .PP این صفحه راهنما در ابتدا توسط Jari Aalto نوشته شده است. .PP کد و مستندات هر دو تحت مجوز گنو جی‌پی‌ال (GNU GPL) نسخه ۲ یا (به انتخاب شما) هر نسخه جدیدتر منتشر شده‌اند. برای اطلاعات بیشتر در مورد مجوز، به نشانی مراجعه کنید.