Как отобразить только последний абзац текста в файле, используя cat?

1961
Tom Scott

Меня поставили перед задачей в школе, и я нигде не могу найти ответ. У меня есть текстовый файл с именем tomtextfile, и вопрос гласит: «Используйте команду cat, соответствующим образом измененную, чтобы показать только последний абзац вашего текста. Как это возможно?

-1
Я уверен, что это невозможно, используя только `cat`. Вы уверены, что вам не разрешено использовать дополнительные инструменты? (например, `sed`,` awk` или `cut`) mtak 7 лет назад 2
Все, что он говорит, - то, что я могу изменить это, возможно что-то, чтобы сделать с ** хвостом **? Tom Scott 7 лет назад 0
Если это помогло, предыдущий вопрос был «Использовать команду ** cat **, соответствующим образом измененную, чтобы: показать содержимое tomtextfile, выделив выделенное вами слово. Ответ был: «кот tomtextfile | grep my ' Tom Scott 7 лет назад 0
Так что да, вам разрешено использовать разные команды. Я бы не сказал, что конвейерная связь с другой командой (в данном случае grep) - это * изменение * команды, но это может быть проблемой терминологии. mtak 7 лет назад 2
Вам придется объяснить, как структурирован текстовый файл. Например, является ли абзац набором строк, разделенных пустой строкой, или непрерывной строкой текста, оканчивающейся новой строкой? Обработка новых строк может повлиять на параметры, используемые для изменения способа анализа абзацев и строк командами в конвейере. Suncat2000 7 лет назад 1
Вы не публикуете свой ответ как часть вопроса. Если у вас есть ответ на вопрос, решаемый самостоятельно, опубликуйте его как ответ. JakeGould 7 лет назад 2
Могу поспорить, что вы весело на вечеринках. Я только что нашел ответ через неделю после того, как опубликовал вопрос, потому что ответы, которые я получил, были неправильными, я думал, что сообщу всем, что нашел его, но потом приходят такие люди, как вы. Просто оставь это, парень, я новичок на этом сайте. @JakeGould Tom Scott 7 лет назад 0
@ TomScott То, как работает этот сайт, - это когда люди публикуют вопросы и ответы. Этот сайт не случайный чат или доска объявлений, на которую люди случайно отправляют сообщения. Вы можете поделиться своим ответом с другими **, чтобы опубликовать ответ. ** Если вы считаете, что это только я указал на это, пожалуйста, прочитайте, как работает этот сайт (http://superuser.com/tour ). JakeGould 7 лет назад 3

2 ответа на вопрос

2
n8te

Это должно сделать трюк:

кот tomtextfile | awk -v RS = "" ' END '

2
Zumo de Vidrio

Другой вариант с использованием TAC (обратный кот):

tac tomtextfile | grep "^$" -B1000000 -m1 | tac | grep -v "^$" 
Ответ для меня был: кот tomtextfile | хвост -n 1 Tom Scott 7 лет назад 0