Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Стандартты UNIX файлдарды салыстыруға арналған құрал
Standard UNIX utility for comparing files
Португалиялық Еңбек ордені
the Portuguese Order of Merit
Unix операциялық жүйелер отбасындағы команда екі файлды ортақ және ерекше жолдар бойынша салыстыру үшін қолданылатын құрал. Бұл команда POSIX стандартында белгіленген. Ол 1980 жылдардың ортасынан соңына дейін Unix-қа ұқсас операциялық жүйелерде кеңінен қолданылып келеді.
The command in the Unix family of computer operating systems is a utility that is used to compare two files for common and distinct lines. is specified in the POSIX standard. It has been widely available on Unix like operating systems since the mid to late 1980s.
Тарих
Ли Э. МакМахон жазған, алғаш рет Unix 4 нұсқасында пайда болды. GNU coreutils жинағына енген нұсқасын Ричард Столлман мен Дэвид Маккензи жазды.
Written by Lee E. McMahon, first appeared in Version 4 Unix. The version of bundled in GNU coreutils was written by Richard Stallman and David MacKenzie.
Қолданылуы
екі файлды мәтін жолдары ретінде кіріс ретінде оқиды. бір файлды шығарады, онда үш баған болады. Бірінші екі бағанда бірінші және екінші файлға тән жолдар болады, ал соңғы бағанда екі файлға да ортақ жолдар болады. Бұл функционалдық жағынан бағандарды ажыратуға ұқсас, олар әдетте белгілі бір таңбамен бөлінеді. Егер кіріс файлдарында осы таңбадан басталатын жолдар болса, шығыс бағандары шатас болуы мүмкін. Тиімділік үшін, стандартты іске асырулар екі кіріс файлдың да бірдей жолдарды салыстыру ретімен, лексикалық тәртіпте реттелгенін күтеді. Бұл үшін sort (Unix) командасын қолдануға болады. Алгоритм ағымдағы жергілікті тілдің (locale) салыстыру реттілігін пайдаланады. Егер файлдардағы жолдар ағымдағы жергілікті тілге сәйкес реттелмесе, нәтиже болжай алмайды.
reads two files as input, regarded as lines of text. outputs one file, which contains three columns. The first two columns contain lines unique to the first and second file, respectively. The last column contains lines common to both. This functionally is similar to
Columns are typically distinguished with the character. If the input files contain lines beginning with the separator character, the output columns can become ambiguous. For efficiency, standard implementations of expect both input files to be sequenced in the same line collation order, sorted lexically. The sort (Unix) command can be used for this purpose. The algorithm makes use of the collating sequence of the current locale. If the lines in the files are not both collated in accordance with the current locale, the result is undefined.
Қайтару коды
, айырмашылығы, екі файлдың арақатынасына қатысты қайтарылған кодтың логикалық мағынасы жоқ. 0 коды сәтті орындалғанын, 0-ден жоғары код өңдеу барысында қателіктер болғанын білдіреді.
Unlike , the return code from has no logical significance concerning the relationship of the two files. A return code of 0 indicates success, a return code >0 indicates an error occurred during processing.
Салыстыру
Жалпы алғанда, бұл қарапайым құралдан күштірек. Ал қарапайым құрал скрипттерде қолдануға жақсырақ. және арасындағы басты айырмашылық – сұрыптаудан бұрынғы жолдардың реті туралы ақпаратты жояды. және арасындағы шағын айырмашылық – бұл екі файлдың арасындағы жолдың "өзгергенін" көрсетуге тырыспайды; жолдар "#1 файлдан", "#2 файлдан" немесе "екі файлда да" бағандарында көрсетіледі. Егер екі жолдың, тіпті оларда ұсақ-түйек айырмашылықтар болса да, әртүрлі деп есептелуін қаласаңыз, бұл пайдалы болуы мүмкін.
In general terms, is a more powerful utility than The simpler is best suited for use in scripts. The primary distinction between and is that discards information about the order of the lines prior to sorting. A minor difference between and is that will not try to indicate that a line has "changed" between the two files; lines are either shown in the "from file #1", "from file #2", or "in both" columns. This can be useful if one wishes two lines to be considered different even if they only have subtle differences.
Басқа нұсқалар
үш бағанның кез келгенін жасыруға арналған команда жолы опциялары бар. Бұл скрипттерді жазу үшін ыңғайлы. Сонымен қатар, стандарттық кірістен бір файлды (бірақ екі файлды емес) оқу опциясы да бар.
has command line options to suppress any of the three columns. This is useful for scripting. There is also an option to read one file (but not both) from standard input.
Шектері
Келесі шығыс жолы жазылмас бұрын, әрбір кіріс файлынан толық жолға дейін буферде сақталуы керек. Кейбір іске асырулар жүйелік жады жеткілікті болса, жол ұзындығының шектерін қоймайтын функция арқылы жолдарды оқиды. Басқа іске асырулар функциясы арқылы жолдарды оқиды. Бұл функция тұрақты буферді қажет етеді. Осы іске асырулар үшін буфер көбінесе POSIX макросы бойынша өлшемделеді.
Up to a full line must be buffered from each input file during line comparison, before the next output line is written. Some implementations read lines with the function which does not impose any line length limits if system memory suffices. Other implementations read lines with the function This function requires a fixed buffer. For these implementations, the buffer is often sized according to the POSIX macro .