LINUX.ORG.RU

История изменений

Исправление Xenius, (текущая версия) :

Тебя я уже смешал с дерьмом - этот достаточно для того, чтобы определить меня более сильным.

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Я тебе показал как он выглядит - он абсолютно корректен.

То есть, ты считаешь нормальным забрать у операционной системы всю доступную память?

дак и делаю то, что будет соответствовать твоему высеру(требованиям)

Ладно, так и быть.
1. Строкой считается любая последовательность символов, не содержащих терминаторов и ограниченная терминаторами с обоих сторон. Терминаторы, которые должны поддерживаться:
★ Начало файла
★ Конец файла
★ \r\n, \r, \n
Другие терминаторы не должны поддерживаться, если это явно не задано опциями командной строки.
2. Строка считается соответствующей условию, если в ней содержится хотя бы одна подстрока, закодированная в аргументе pattern.
3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.
4. Программа должна поддерживать следующие параметры запуска:

new-grep [options] pattern [input-file ...]
options:
-- — все последующие аргументы не считаются опциями
-f — паттерн берётся из файла с именем/путём pattern
-e — паттерн может содержать следующие escape-последовательности:
\\ — один обратный слэш
\ddd — десятичный код соответствующего байта
\xHH — шестнадцатеричный код соответствующего байта
\eof — конец файла
\bof — начало файла
\cr — \x0D (carriage return)
\lf — \x0A (line feed)
\st — любой поддерживаемый разделитель строк (string terminator)

-h — вывести справку по программе и информацию о версии.
-q — ничего не выводить на stdout, только сигнализировать кодом завершения, есть ли паттерн в входном потоке (код 0) или нет (код 1)
-t — при выводе на консоль, терминаторы сохраняются как есть.

На своё усмотрение можешь добавить ещё опций. Если опции. модифицирующие поведение паттерна не заданы (в данном случае -e), то он интерпретируется как есть. Если опция -t не задана, то каждая выводимая строка должна оканчиваться \n, даже если в исходном файле был другой разделитель. Если опция -f не задана, то входной поток берётся с stdin.
5. В случае если есть какие-то проблемы, например паттерн невозможно правильно и однозначно интерпретировать, должно выдаваться соответствующее сообщение на stderr, описывающее проблему и программа должна завершаться с кодами кроме (0,1).
6. Программа должна запускаться и правильно работать на любых машинах, на которых запускается и правильно работает GNU/Linux или Busybox/Linux.
7. Программа не должна допускать некорректной работы, например, обрезать строки.
8. Программа должна быть переносима между POSIX-совместимыми ОС

Если, по-твоему, спецификация выше допускает неопределенное поведение, то ты должен её дополнить явно.
Если ты считаешь, что какие-то пункты спецификации невозможно реализовать, ты должен это аргументировать. Возможно, я разрешу тебе их не учитывать или ослабить (например не реализовывать некоторые опции).
Если не осилишь написать программу, которую я описал, так и скажи, и слейся по-честному, а не оправдывайся, что типа тебе некогда, условий слишком много и тд.

Я даю тебе последний шанс перед тем как засчитать слив.

Исправление Xenius, :

Тебя я уже смешал с дерьмом - этот достаточно для того, чтобы определить меня более сильным.

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Я тебе показал как он выглядит - он абсолютно корректен.

То есть, ты считаешь нормальным забрать у операционной системы всю доступную память?

дак и делаю то, что будет соответствовать твоему высеру(требованиям)

Ладно, так и быть.
1. Строкой считается любая последовательность символов, не содержащих терминаторов и ограниченная терминаторами с обоих сторон. Терминаторы, которые должны поддерживаться:
★ Начало файла
★ Конец файла
★ \r\n, \r, \n
Другие терминаторы не должны поддерживаться, если это явно не задано опциями командной строки.
2. Строка считается соответствующей условию, если в ней содержится хотя бы одна подстрока, закодированная в аргументе pattern.
3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.
4. Программа должна поддерживать следующие параметры запуска:

new-grep [options] pattern [input-file ...]
options:
-- — все последующие аргументы не считаются опциями
-f — паттерн берётся из файла с именем/путём pattern
-e — паттерн может содержать следующие escape-последовательности:
\\ — один обратный слэш
\ddd — десятичный код соответствующего байта
\xHH — шестнадцатеричный код соответствующего байта
\eof — конец файла
\bof — начало файла
\cr — \x0D (carriage return)
\lf — \x0A (line feed)
\st — любой поддерживаемый разделитель строк (string terminator)

-h — вывести справку по программе и информацию о версии.
-q — ничего не выводить на stdout, только сигнализировать кодом завершения, есть ли паттерн в входном потоке (код 0) или нет (код 1)
-t — при выводе на консоль, терминаторы сохраняются как есть.

На своё усмотрение можешь добавить ещё опций. Если опции. модифицирующие поведение паттерна не заданы (в данном случае -e), то он интерпретируется как есть. Если опция -t не задана, то каждая выводимая строка должна оканчиваться \n, даже если в исходном файле был другой разделитель. Если опция -f не задана, то входной поток берётся с stdin.
5. В случае если есть какие-то проблемы, например паттерн невозможно правильно и однозначно интерпретировать, должно выдаваться соответствующее сообщение на stderr, описывающее проблему и программа должна завершаться с кодами кроме (0,1).
6. Программа должна запускаться и правильно работать на любых машинах, на которых запускается и правильно работает GNU/Linux или Busybox/Linux.
7. Программа не должна допускать некорректной работы, например, обрезать строки.
8. Программа должна быть переносима между POSIX-совместимыми ОС

Если, по-твоему, спецификация выше допускает неопределенное поведение, то ты должен её дополнить явно.
Если ты считаешь, что какие-то пункты спецификации невозможно реализовать, ты должен это аргументировать. Возможно, я разрешу тебе их не учитывать.
Если не осилишь написать программу, которую я описал, так и скажи, и слейся по-честному, а не оправдывайся, что типа тебе некогда, условий слишком много и тд.

Я даю тебе последний шанс перед тем как засчитать слив.

Исправление Xenius, :

Тебя я уже смешал с дерьмом - этот достаточно для того, чтобы определить меня более сильным.

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Я тебе показал как он выглядит - он абсолютно корректен.

То есть, ты считаешь нормальным забрать у операционной системы всю доступную память?

дак и делаю то, что будет соответствовать твоему высеру(требованиям)

Ладно, так и быть.
1. Строкой считается любая последовательность символов, не содержащих терминаторов и ограниченная терминаторами с обоих сторон. Терминаторы, которые должны поддерживаться:
★ Начало файла
★ Конец файла
★ \r\n, \r, \n
Другие терминаторы не должны поддерживаться, если это явно не задано опциями командной строки.
2. Строка считается соответствующей условию, если в ней содержится хотя бы одна подстрока, закодированная в аргументе pattern.
3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.
4. Программа должна поддерживать следующие параметры запуска:

new-grep [options] pattern [input-file ...]
options:
-- — все последующие аргументы не считаются опциями
-f — паттерн берётся из файла с именем/путём pattern
-e — паттерн может содержать следующие escape-последовательности:
\\ — один обратный слэш
\ddd — десятичный код соответствующего байта
\xHH — шестнадцатеричный код соответствующего байта
\eof — конец файла
\bof — начало файла
\cr — \x0D (carriage return)
\lf — \x0A (line feed)
\st — любой поддерживаемый разделитель строк (string terminator)

-h — вывести справку по программе и информацию о версии.
-q — ничего не выводить на stdout, только сигнализировать кодом завершения, есть ли паттерн в входном потоке (код 0) или нет (код 1)
-t — при выводе на консоль, терминаторы сохраняются как есть.

На своё усмотрение можешь добавить ещё опций. Если опции. модифицирующие поведение паттерна не заданы (в данном случае -e), то он интерпретируется как есть. Если опция -t не задана, то каждая выводимая строка должна оканчиваться \n, даже если в исходном файле был другой разделитель. Если опция -f не задана, то входной поток берётся с stdin.
5. В случае если есть какие-то проблемы, например паттерн невозможно правильно и однозначно интерпретировать, должно выдаваться соответствующее сообщение на stderr, описывающее проблему и программа должна завершаться с кодами кроме (0,1).
6. Программа должна запускаться и правильно работать на любых машинах, на которых запускается и правильно работает GNU/Linux или Busybox/Linux.
7. Программа не должна допускать некорректной работы, например, обрезать строки.
8. Программа должна быть переносима между POSIX-совместимыми ОС

Если, по-твоему, спецификация выше допускает неопределенное поведение, то ты должен её дополнить явно.

Если не осилишь написать программу, которую я описал, так и скажи, и слейся по-честному, а не оправдывайся, что типа тебе некогда, условий слишком много и тд.

Я даю тебе последний шанс перед тем как засчитать слив.

Исходная версия Xenius, :

Тебя я уже смешал с дерьмом - этот достаточно для того, чтобы определить меня более сильным.

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Я тебе показал как он выглядит - он абсолютно корректен.

То есть, ты считаешь нормальным забрать у операционной системы всю доступную память?

дак и делаю то, что будет соответствовать твоему высеру(требованиям)

Ладно, так и быть.
1. Строкой считается любая последовательность символов, не содержащих терминаторов и ограниченная терминаторами с обоих сторон. Терминаторы, которые должны поддерживаться:
★ Начало файла
★ Конец файла
★ \r\n, \r, \n
Другие терминаторы не должны поддерживаться, если это явно не задано опциями командной строки.
2. Строка считается соответствующей условию, если в ней содержится хотя бы одна подстрока, закодированная в аргументе pattern.
3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.
4. Программа должна поддерживать следующие опции:

new-grep [options] pattern [input-file ...]
options:
-- — все последующие аргументы не считаются опциями
-f — паттерн берётся из файла с именем/путём pattern
-e — паттерн может содержать следующие escape-последовательности:
\\ — один обратный слэш
\ddd — десятичный код соответствующего байта
\xHH — шестнадцатеричный код соответствующего байта
\eof — конец файла
\bof — начало файла
\cr — \x0D (carriage return)
\lf — \x0A (line feed)
\st — любой поддерживаемый разделитель строк (string terminator)

-h — вывести справку по программе и информацию о версии.
-q — ничего не выводить на stdout, только сигнализировать кодом завершения, есть ли паттерн в входном потоке (код 0) или нет (код 1)
-t — при выводе на консоль, терминаторы сохраняются как есть.

На своё усмотрение можешь добавить ещё опций. Если опции. модифицирующие поведение паттерна не заданы (в данном случае -e), то он интерпретируется как есть. Если опция -t не задана, то каждая выводимая строка должна оканчиваться \n, даже если в исходном файле был другой разделитель. Если опция -f не задана, то входной поток берётся с stdin.
5. В случае если есть какие-то проблемы, например паттерн невозможно правильно и однозначно интерпретировать, должно выдаваться соответствующее сообщение на stderr, описывающее проблему и программа должна завершаться с кодами кроме (0,1).
6. Программа должна запускаться и правильно работать на любых машинах, на которых запускается и правильно работает GNU/Linux или Busybox/Linux.
7. Программа не должна допускать некорректной работы, например, обрезать строки.
8. Программа должна быть переносима между POSIX-совместимыми ОС

Если, по-твоему, спецификация выше допускает неопределенное поведение, то ты должен её дополнить явно.

Если не осилишь написать программу, которую я описал, так и скажи, и слейся по-честному, а не оправдывайся, что типа тебе некогда, условий слишком много и тд.

Я даю тебе последний шанс перед тем как засчитать слив.