.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' '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 turned on, 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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SRCREDACT 1" .TH SRCREDACT 1 "2015-10-24" "1.0" "Text tools" .\" 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)" srcredact \- برنامه‌ای برای پالایش و پنهان‌سازی فایل‌های متنی .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" srcredact [\fI\s-1OPTIONS\s0\fR] \fB\-e\fR \fIaudience\fR [\fIfull_file\fR] .PP srcredact [\fI\s-1OPTIONS\s0\fR] \fB\-u\fR \fIaudience\fR \fIfull_file\fR [\fIredacted_file\fR] .PP srcredact \fB\-l\fR [\fIfull_file\fR] .PP srcredact \fB\-h|\-v\fR .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" \&\fBsrcredact\fR برنامه‌ای برای استخراج «نسخه‌های پالایش‌شده» از فایل اصلی (گزینهٔ \fB\-e\fR) یا اعمال تغییراتِ نسخه‌های پالایش‌شده در فایل اصلی («unredact»، گزینهٔ \fB\-u\fR) است. .PP فایل اصلی از \fIقطعاتی\fR تشکیل شده است که برای مخاطبان مختلفی در نظر گرفته شده‌اند. هر مخاطب دارای یک \fIname\fR (نام) است، مانند \f(CW\*(C`classified\*(C'\fR، \f(CW\*(C`unclssified\*(C'\fR، \f(CW\*(C`expert\*(C'\fR و غیره. قطعات با \fIخطوط محافظ\fR آغاز و پایان می‌یابند. هر خط محافظ دارای قالبی به شکل زیر است (برای نحو پیش‌فرض TeX): .PP .Vb 1 \& %<*name1|name2|...> .Ve .PP یا .PP .Vb 1 \& % .Ve .PP در حالت نخست، متنِ پس از محافظ برای مخاطبان \f(CW\*(C`name1\*(C'\fR، \f(CW\*(C`name2\*(C'\fR و... \fIگنجانده می‌شود\fR. در حالت دوم، متن برای این مخاطبان \fIمستثنی می‌شود\fR. .PP یک مخاطب ویژه به نام \f(CW\*(C`ALL\*(C'\fR وجود دارد: یک نویسهٔ عام برای تمام مخاطبان. بنابراین ترکیبِ .PP .Vb 2 \& % \& %<*classified> .Ve .PP بدین معناست که این قطعه برای همهٔ مخاطبان به‌جز \f(CW\*(C`classified\*(C'\fR مستثنی شده است. .PP دقیقاً باید یکی از گزینه‌های \fB\-e\fR (استخراج) یا \fB\-u\fR (بازگردانی استخراج / unextract) مشخص شود. در حالت استخراج، آرگومان غیرگزینه‌ای نام فایل کامل است. اگر مشخص نشود، یا مقدار آن \f(CW\*(C`\-\*(C'\fR باشد، ورودی استاندارد به کار می‌رود. در حالت unextract، نخستین آرگومان غیرگزینه‌ای .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-c\fR \fIlist of comment patterns\fR" 4 .IX Item "-c list of comment patterns" به‌جای الگوی پیش‌فرض \f(CW\*(C`TeX\*(C'\fR، از الگوی داده‌شده برای خطوط کامنت جهت جستجوی محافظ‌ها استفاده می‌کند. الگوهای شناخته‌شده عبارتند از: .RS 4 .IP "\fBc\fR" 4 .IX Item "c" .Vb 1 \& /**/ .Ve .IP "\fBcpp\fR" 4 .IX Item "cpp" .Vb 1 \& // .Ve .IP "\fBfortran\fR" 4 .IX Item "fortran" .Vb 1 \& C .Ve .IP "\fBshell\fR" 4 .IX Item "shell" .Vb 1 \& # .Ve .IP "\fBTeX\fR" 4 .IX Item "TeX" .Vb 1 \& % .Ve .RE .RS 4 .Sp نام‌های الگو باید با ویرگول از هم جدا شوند، و برای جلوگیری از بسط پوسته، این فهرست می‌تواند درون گیومه قرار گیرد؛ مانند: .Sp .Vb 1 \& \-c "TeX, c, shell" .Ve .RE .IP "\fB\-d\fR" 4 .IX Item "-d" فعال‌سازی حالت اشکال‌زدایی. .IP "\fB\-e\fR \fIaudience\fR" 4 .IX Item "-e audience" محتوای مربوط به مخاطب کنونی را در فایل \fIfile\fR استخراج می‌کند. اگر نام \fIfile\fR ساختاری مانند \fIbase\fR\-\fIaudience\fR.\fIextension\fR داشته باشد (برای نمونه \f(CW\*(C`report\-unclassified.tex\*(C'\fR)، مخاطب کنونی از روی آن حدس زده می‌شود. گزینهٔ \fB\-a\fR این حدس را لغو کرده و در صورتی که نام فایل از این الگو پیروی نکند، باید به کار رود. نام فایل \f(CW\*(C`\-\*(C'\fR به معنای خروجی استاندارد است. .IP "\fB\-h\fR" 4 .IX Item "-h" نمایش اطلاعات راهنما و خروج. .IP "\fB\-l\fR" 4 .IX Item "-l" فهرست کردن تمام مخاطبانِ تعریف‌شده در فایل (در هر سطر یک مخاطب) و خروج. .IP "\fB\-u\fR \fIaudience\fR" 4 .IX Item "-u audience" یک فایل ویرایش‌شده که برای \fIaudience\fR در نظر گرفته شده است (دومین آرگومان غیرگزینه‌ای) را گرفته و تغییرات آن را در فایل کامل (نخستین آرگومان غیرگزینه‌ای) ادغام می‌کند. اگر آرگومان دوم داده نشود، ورودی استاندارد به‌جای آن استفاده می‌شود. طبق معمول، \f(CW\*(C`\-\*(C'\fR نیز به معنای ورودی استاندارد است. توجه داشته باشید که در این حالت، تنها یکی از این دو آرگومان فایل می‌تواند ورودی استاندارد باشد. .IP "\fB\-v\fR" 4 .IX Item "-v" نمایش اطلاعات نسخه و خروج. .IP "\fB\-w\fR \fIon|off|1|0|true|false\fR" 4 .IX Item "-w on|off|1|0|true|false" اگر \f(CW\*(C`on\*(C'\fR، \f(CW1\fR یا \f(CW\*(C`true\*(C'\fR باشد (پیش‌فرض)، کل سند را به‌طور ضمنی درون محافظ‌های زیر می‌پیچد: .Sp .Vb 3 \& %<*ALL> \& ... \& % .Ve .SH "وضعیت خروج (EXIT STATUS)" .IX Header "EXIT STATUS" این برنامه در صورت موفقیت مقدار 0، در صورت وجود تعارض در حالت \f(CW\*(C`unextract\*(C'\fR مقدار 1، و در صورت بروز مشکل مقدار 2 را برمی‌گرداند. .SH "تعارض‌ها در حالت UNEXTRACT (CONFLICTS IN UNEXTRACT MODE)" .IX Header "CONFLICTS IN UNEXTRACT MODE" همانند ابزار استاندارد \fIdiff3\fR\|(1)، این برنامه ممکن است در حالت \fB\-u\fR تعارض‌هایی میان نسخهٔ کامل و نسخهٔ ویرایش‌شده بیابد. در این صورت، فایل نهایی تعارض‌ها را به شیوهٔ معمول مشخص می‌کند؛ برای نمونه: .PP .Vb 10 \& <<<<<<< /tmp/BrjXo0hMOB/full \& % \& Forty\-five tons best old dry government bonds, suitable for furnace, gold \& 7 per cents., 1864, preferred. \& %<*nobonds> \& ||||||| /tmp/BrjXo0hMOB/extracted \& Forty\-five tons best old dry government bonds, suitable for furnace, gold \& 7 per cents., 1864, preferred. \& ======= \& >>>>>>> /tmp/BrjXo0hMOB/new .Ve .PP در اینجا \f(CW\*(C`full\*(C'\fR سند کامل، \f(CW\*(C`extracted\*(C'\fR فایل استخراج‌شده برای مخاطب مشخص‌شده، و \f(CW\*(C`new\*(C'\fR فایل ویرایش‌شده است. .SH "نویسندگان (AUTHORS)" .IX Header "AUTHORS" Boris Veytsman, borisv@lk.net .PP این کار به سفارش دفتر حفاظت مالی مصرف‌کننده (Consumer Financial Protection Bureau)، خزانه‌داری ایالات متحده انجام شده است. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" حق تکثیر (C) 2015 Boris Veytsman. نسخهٔ 1.0 .PP این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «پروانهٔ عمومی همگانی گنو» (\s-1GNU\s0 General Public License) همان‌گونه که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخهٔ ۲ پروانه و چه (به دلخواه خود) هر نسخهٔ پس از آن، دوباره توزیع کرده و/یا تغییر دهید. .PP این برنامه با این امید توزیع می‌شود که سودمند باشد، اما \s-1بدون هر گونه ضمانت\s0؛ حتی بدون ضمانت ضمنی \s-1قابلیت فروش\s0 یا \s-1تناسب برای یک هدف مشخص\s0. برای جزئیات بیشتر «پروانهٔ عمومی همگانی گنو» را ببینید. .PP شما باید همراه با این برنامه یک نسخه از پروانهٔ عمومی همگانی \s-1GNU\s0 دریافت کرده باشید؛ در غیر این صورت، به نشانی زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, \s-1MA\s0 02110\-1301, \s-1USA\s0