Есть ли простой способ отобразить файл, пропустив первую и последнюю строки? Я смотрел на обжигающе из head
в tail
, но и для тех , кто, кажется , что я должен был бы знать , общие линии с самого начала. Я тоже смотрел split
, но я тоже не вижу способа сделать это.
text-processing
user394
источник
источник
head -n -1
удаляет первую И последнюю строку моего.txt
файла в Ubuntu 14.04.2LTS.Вот как это сделать
awk
:Также еще один способ для
sed
:x
Это расширеннаяsed
команда, она переключает текущую строку с предыдущей: текущая попадает в буфер, а предыдущая - на экран и т. д. приsed
обработке потока строка за строкой (поэтому первая строка будет пустой).awk
Решение на каждом шаге (строке) помещает текущую строку в переменную и начинает печатать ее только после того, как вторая строка пройдена. Таким образом, мы получили дерьмовую последовательность строк на экране от второго до последнего, кроме одного. Последняя строка не указана, поскольку строка находится в переменной и должна быть напечатана только на следующем шаге, но все шаги уже завершены, и мы никогда не видим строку на экране.Та же идея в
perl
:$.
обозначает номер строки и$_
текущую строку.perl -n
это ярлык дляwhile(<..>) {..}
структуры и-e
для встроенного скрипта.источник
В Python я бы так и сделал.
Вставьте приведенный выше код в файл и назовите его как
script.py
. Запустите скрипт для файла, который вы хотите проверить.Пример:
источник
Для пользователей Mac:
На Mac
head -n -1
не работает. Вместо этого переверните файл, отрежьте первую строку, а затем переверните ее обратно:Объяснение:
tail -r
: меняет порядок строк на входеtail -n +2
: печатает все строки, начиная со второй строки в своем вводеисточник