LINUX.ORG.RU

Вывести все строки, кроме первой в awk

 , ,


0

2

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



Последнее исправление: CYB3R (всего исправлений: 1)

Для взятия первой строки используй head вместо awk.

PolarFox ★★★★★
()
(head -1 input.file; tail -n+2 input.file | sort) > output.file
sdio ★★★★★
()

как вывести все строки, кроме первой.

tail -n +2

man tail:

-n, --lines=K
output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth

Krieger_Od ★★
()

Пишу одни из своих первых скриптов в баше
так что нужно с помощью awk

Ну так это же читерство. awk — сам по себе Тьюринг-полный язык программирования.

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

На любом ЯП с полноценной поддержкой работы со строками, который знаешь. Для таких задач лучше всего подходит perl, но подойдет и python, и lua, и еще много чего.

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

awk — сам по себе Тьюринг-полный язык программирования.

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

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.