LINUX.ORG.RU
ФорумJob

Напишите сценарий позволяющий вывести N строк файла начиная с заданной строки.

 


0

1

Напишите сценарий позволяющий вывести N строк файла начиная с заданной строки. Номер заданной строки и их количество являются входными параметрами. Задачу следует решать, используя стандартные утилиты и перенаправление ввода вывода.

Перемещено hobbit из general

Там вообще в одну команду можно написать.

Читай man sed.

А если надо с перенаправлением ввода вывода, то ещё man while и man read.

Ну и в стиле программы «Отгадай мелодию», я решу эту задачу за 5 тысяч рублей. Хотя ты передачу не видел даже.

Показывай что написал и что не получается.

kostik87 ★★★★★
()

Напишите сценарий

Разрешите бегом?

Задачу следует решать

При стрельбе из автомата в положении лёжа упор осуществляется на колени рук. Запомни, очень скоро пригодится.

Jameson ★★★★★
()

И что это было? Ни здравствуйте, ни до свидания.

Судя по формулировкам, ты хочешь не помощи с какой-то проблемой, а чтобы за тебя сделали учебное задание.

Переношу в Job. Озвучивай бюджет.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

По поводу переноса такого в job:
Вообще-то то, что явно собирается сделать TS, называется подлог (мошенничество), и в зависимости от размера получаемой материальной выгоды влечёт ответственность от административной до уголовной. Понятно, что никто такими мелочами не занимается, потому что сам факт подлога в данном случае труднодоказуем, а стоимость делопроизводства заметно выше предмета разбирательства. Поэтому и процветают всякие «Дипломы, курсовые, контрольные недорого». Но с точки зрения УПК не только решение за деньги подобного является соучастием, но и само размещение объявления - пособничеством.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Я с этим, скорее, согласен.
Но это обсуждалось относительно недавно, было много возмущённых, «кто вы такие, чтобы решать кому что спрашивать на форуме», «что плохого в покупке домашек», «по мне пусть будет» и даже «ребята вы чего, превращаетесь в институт благородных девиц»?
В итоге вопрос, если называть вещи своими именами, просто спустили на тормозах. Наверное, зря спустили, да. Кстати, тема та в архив ещё не ушла, можешь докинуть свои 5 копеек.

hobbit ★★★★★
()
Ответ на: комментарий от ABW
Мошенничество, то есть хищение чужого имущества или приобретение права на чужое имущество путем обмана или злоупотребления доверием.

Где это в ОП?

Подлог, вообще, имеет отношение только к служебной деятельности.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от ABW

В целом да, но когда я учился, преподаватель по одному из предметов сказал всему потоку примерно такую вещь: «Вы можете мне рассказывать любую вещь и пытаться обмануть, я это всё могу принять, вы свои 3 балла от меня получите, но зато я буду ценнее как специалист, когда вокруг будет куча людей с такими дипломами».

В принципе, что-то в этом есть. Ну а всё это выбор ТС и вообще части современных студентов. Но я это не поощряю.

Он теряет своё время и не получает никаких знаний.

kostik87 ★★★★★
()

Чё там, сессия скоро? Ахах.

ox55ff ★★★★★
()
Ответ на: комментарий от ABW

Не знаю насчёт юридических нюансов, но позору надо точно публично предавать пытающихся «учиться» не напрягая мозг. Стыдоба. Ладно б чот сложное спросили как сделать, а то вообще

massimus ★★★
()
Ответ на: комментарий от L29Ah

Для театра драмы маловато. Надо понять, почему между файлами возник конфликт и почему кто-то кого-то ограничивает.

Irma ★★
()
Ответ на: комментарий от akk

Он озвучил стоимость годовой поддержки.

grem ★★★★★
()
Ответ на: комментарий от akk

Многовато за такой говнокод.

Не нравится, пусть сам пишет.

crutch_master ★★★★★
()

Напишите сценарий

Что за «сценарий»? Слово в контексте выглядит чужеродным. Имеется в виду программа или скрипт?

hbee ★★★★
()
Ответ на: комментарий от akk

Так это, вот ABW говорит, что это же подлог:

Вообще-то то, что явно собирается сделать TS, называется подлог (мошенничество)

Поэтому и сумма такая.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от vM

Из условия не совсем ясно, как задаётся файл.

Не совсем понял, из условия задачи ТС-а? Или про то, что в моем варианте решения, не понятен порядок ввода названия файла, первой и количества строк?

То есть стоит добавить запрос на соответствующие параметры? По типу введите название файла, первую строку и количество строк?

#!/bin/bash

echo -n "file name:"
read file_name
echo -n "first line number:"
read first_line_number
echo -n "number of lines:"
read number_of_lines

last_line_number=$(($first_line_number+$number_of_lines-1))

sed -n ''$first_line_number','$last_line_number'p' $file_name

В какую сторону копать, чтобы при вводе имени файла работало автодополнение пути и имени файла?

ComIngSoon
()
Последнее исправление: ComIngSoon (всего исправлений: 1)
Ответ на: комментарий от vM

А вообще, конечно, жизненная задача.

Кстати, да. Можно привести решение на awk, например, и это будет правильное решение. Проблема в том, что поскольку задача учебная, всегда существует контекст обучения, и на этапе изучения каналов ввода-вывода студенты про awk ещё ничего не знают. Принеся такое решение они как бы расписываются в том, что они его списали.

Я бы такие ответы разрешил :-)

Aceler ★★★★★
()
Ответ на: комментарий от hbee

Поскольку это мой учебник:

«Сценарий» — это дословный перевод на русский язык термина «script». Используется в отношении шелл-скриптов.

Aceler ★★★★★
()
Ответ на: комментарий от ComIngSoon

В какую сторону копать, чтобы при вводе имени файла работало автодополнение пути и имени файла?

в сторону readline

ledit - line editor for interactive programs

sudo apt install ledit

A=$(ledit) # выход по Ctrl-D
echo "$A"
futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 2)

Напишите сценарий позволяющий вывести N строк файла начиная с заданной строки

я тоже такое могу, но не хочу!

anonymous2 ★★★★★
()

может тебе ещё и бабу рыжую?

faq2
()

Нужно с полной поддержкой Unicode или как получится?

Shushundr ★★★
()
Ответ на: комментарий от Aceler

«позволяющий вывести N строк файла»

Я не понял куда выводить, на экран смартфона в виде уведомления от Mastodon-бота или на принтер.

«стандартные утилиты и перенаправление ввода вывода»

[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.IO.Stream OpenStandardInput ();

https://learn.microsoft.com/ru-ru/dotnet/api/system.console.openstandardinput?view=net-7.0

Дисклаймер: dotnet это опенсорсная платформа, на Linux может работать.

tvos - это TV OS, операционная система, разрабатываемая корпорацией Apple для устройств линейки Apple TV. Основана на iOS

Shushundr ★★★
()
Последнее исправление: Shushundr (всего исправлений: 4)
Ответ на: комментарий от Shushundr

Я не понял куда выводить, на экран смартфона в виде уведомления от Mastodon-бота или на принтер.

Любое практическое задание в учебнике пишется в контексте какой-то темы. Студенты, таскающие эти задания потом на ЛОР, опускают контекст и получают шлакоблокунь.

Я не хочу проверять твою программу, скорее всего, ты всё сделал правильно — молодец, зачёт. Впрочем, я не уверен, что язык, на котором ты пишешь, скриптовый.

С тем же успехом можно было бы сделать на awk, perl, php и десятке-другом иных скриптовых языков.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

я не уверен, что язык, на котором ты пишешь, скриптовый

https://ru.wikipedia.org/wiki/PowerShell

Но я программу не писал, просто обратил внимание, что на телевизорах с операционной системой iOS работать не будет.

Shushundr ★★★
()

head -n $(( $1 + $2 )) | tail -n $2

Первым аргументом принимает номер строки с которого начинать вывод, вторым - количество выводимых строк.

QsUPt7S ★★
()
Ответ на: комментарий от Dog

Волшебное слово забыл.

Эй вы задроты, напишите сценарий позволяющий вывести N строк файла начиная с заданной строки. Номер заданной строки и их количество являются входными параметрами. Задачу следует решать, используя стандартные утилиты и перенаправление ввода вывода.

Угадал? :-)

no-dashi-v2 ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.