Как пропустить первую строку файла с помощью awk

How Skip First Line File Using Awk



Команда `awk` используется в Linux по-разному. Например, его можно использовать для печати содержимого текстового файла. Первая строка многих текстовых файлов содержит заголовок файла, и иногда первая строка должна быть пропущена при печати содержимого файла. В этом руководстве мы покажем вам, как выполнить эту задачу с помощью команды awk.

Создать текстовый файл

Чтобы следовать этому руководству, создайте текстовый файл с разделителями табуляции с именем booklist.txt со следующим содержанием. Этот файл содержит список книг с соответствующими авторами. В этом уроке мы покажем вам, как распечатать различные части этого файла, пропустив первую строку.







Кибербезопасность с bash Paul Troncone, Carl Albing

Командная строка Кунг-фу Джейсон Кэннон

Командная строка Linux Трэвис Бут

Баш легкими шагами Майк МакГрат

Unix: простые шаги Майк МакГрат

Пример 1. Пропустить первую строку файла с помощью NR и оператора ‘>’

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



$Котbooklist.txt

$awk '(НЕТ> 1)'booklist.txt

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







Пример 2. Пропустите первую строку, используя NR и оператор ‘! =’

Следующая команда `awk` похожа на команду в предыдущем примере. Однако здесь используется оператор сравнения ‘! =’ Вместо ‘>’.

$Котbooklist.txt

$awk 'NR! = 1'booklist.txt

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



Пример 3: пропустить первую строку файла с помощью условного оператора

Следующая команда `awk` напечатает строки файла, если оператор if верен. Здесь оператор if будет верным только тогда, когда значение NR не равно 1.

$Котbooklist.txt

$awk '{если (NR! = 1) {печать}}'booklist.txt

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

Пример 4: Вывести названия книг из файла, но пропустить первую строку

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

$Котbooklist.txt

$awk -F ' т' '{печать $ 1}'booklist.txt| awk 'NR! = 1 печать}'

Следующий вывод будет произведен после выполнения вышеуказанных команд. Вывод показывает все названия книг, кроме названия первой книги.

Пример 5: Отформатируйте содержимое файла после пропуска первой строки

Параметр ‘-F’, переменная NR и функция printf используются в следующей команде awk для генерации форматированного вывода после пропуска первой строки. Команда разделит содержимое файла на столбцы на основе t, а printf распечатает первый и второй столбцы, когда значение NR равно минимум 2.

$Котbooklist.txt

$awk -F ' т' 'NR> = 2 {printf'% 30s% 20s n ', $ 1, $ 2}'booklist.txt

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

Пример 6. Распечатайте названия книг после пропуска первой строки, используя NR и NF.

Следующая команда `awk` использует параметр‘ -F ’и NR и NF для печати названий книг после пропуска первой книги. Параметр «-F» используется для разделения содержимого файловой базы по t. NR используется для пропуска первой строки, а NF используется для печати только первого столбца.

$Котbooklist.txt

$awk -F ' т' 'NR> 1 && NF = 1'booklist.txt

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

Пример 7: Распечатайте отформатированные имена авторов после пропуска первой строки

Следующая команда `awk` использует параметр‘ -F ’и условный оператор для вывода имен авторов после пропуска первой строки. Здесь значение NR используется в условии if. Здесь имя автора: n n будет напечатано как первая строка вместо содержимого из первой строки. Имена авторов из файла будут напечатаны для других значений NR.

$Котbooklist.txt

$awk -F ' т' '{if (NR == 1) printf' nИмя автора: n n '; иначе printf '% s n', $ 2} 'booklist.txt

Следующий вывод будет произведен после выполнения вышеуказанных команд. Вывод показывает текст «Имя автора:» с новой строкой, и печатаются все имена авторов, кроме первого.

Заключение

Первую строку файла можно пропустить с помощью различных команд Linux. Как показано в этом руководстве, есть разные способы пропустить первую строку файла с помощью команды `awk`. Примечательно, что переменная NR команды awk может использоваться для пропуска первой строки любого файла.