Awk

Як проаналізувати файл, розділений табуляцією, за допомогою 'awk'

Як проаналізувати файл, розділений табуляцією, за допомогою 'awk'

'tab' використовується як роздільник у файлі, розділеному табуляцією. Цей тип текстового файлу створений для зберігання різних типів текстових даних у структурованому форматі.  Для аналізу файлів цього типу в Linux існують різні типи команд.  Команда 'awk' - це один із способів синтаксичного аналізу файлу, розділеного табуляцією, різними способами. Використання команди 'awk' для читання файлу, розділеного табуляцією, показано в цьому посібнику.

Створіть файл, розділений табуляцією:

Створіть текстовий файл з іменем користувачів.txt із наступним вмістом для перевірки команд цього підручника. Цей файл містить ім’я користувача, електронну адресу, ім’я користувача та пароль.

користувачів.txt

Ім'я Електронна адреса Ім'я користувача Пароль
Md. Робін [електронна пошта захищена] robin89 563425
Ніла Хасан [захищена електронною поштою] nila78 245667
Мірза Аббас [електронна пошта захищена] mirza23 534788
Aornob Hasan [захищений електронною поштою] arnob45 778473
Нухас Ахсан [захищено електронною поштою] nuhas34 563452

Приклад-1: Друк другого стовпця файлу, розділеного табуляцією, за допомогою параметра -F

Наступна команда 'sed' надрукує другий стовпець текстового файлу, розділеного табуляцією. Ось, '-F' Параметр використовується для визначення роздільника поля файлу.

$ користувачі котів.txt
$ awk -F '\ t' 'print $ 2' користувачів.txt

Наступний результат з’явиться після запуску команд. Другий стовпець файлу містить адреси електронної пошти користувача, які відображаються як вихідні дані.

Приклад-2: Друк першого стовпця файлу, розділеного табуляцією, за допомогою змінної FS

Наступна команда 'sed' надрукує перший стовпець текстового файлу, розділеного табуляцією. Ось, ФС Змінна (Field Separator) використовується для визначення роздільника полів файлу.

$ користувачі котів.txt
$ awk 'print $ 1' FS = '\ t' користувачів.txt

Наступний результат з’явиться після запуску команд. Перший стовпець файлу містить імена користувачів, які відображаються як вихідні дані.

Приклад-3: Друк третього стовпця файлу, розділеного табуляцією, із форматуванням

Наступна команда 'sed' надрукує третій стовпець текстового файлу, розділеного табуляцією, із форматуванням за допомогою ФС змінна і printf. Ось, ФС Змінна використовується для визначення роздільника поля файлу.

$ користувачі котів.txt
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' користувачів.txt

Наступний результат з’явиться після запуску команд. Третій стовпець файлу містить ім’я користувача, яке було надруковано тут.

Приклад-4: Друк третього та четвертого стовпців файлу, розділеного табуляцією, за допомогою OFS

OFS (Output Field Separator) використовується для додавання роздільника поля у вихідні дані. Наступна команда 'awk' розділить вміст файлу на основі роздільника табуляції (\ t) та надрукує 3-й та 4-й стовпці, використовуючи табулятор (\ t) як роздільник.

$ користувачі котів.txt
$ awk -F "\ t" 'OFS = "\ t" print $ 3, $ 4> ("output.txt ") 'користувачів.txt
$ вихід кішки.txt

Наступний результат з’явиться після запуску вищевказаних команд. Третя і четверта колонки містять ім’я користувача та пароль, які були надруковані тут.

Приклад-5: Замініть певний вміст файлу, розділеного табуляцією

Функція sub () використовується в 'awk для команди заміни. Наступна команда 'awk' здійснить пошук за номером 45 і замінить на нього число 90, якщо номер пошуку існує у файлі. Після заміни вміст файлу буде зберігатися у вихідних даних.txt-файл.

$ користувачі котів.txt
$ awk -F "\ t" 'sub (/ 45 /, 90); print' користувачів.txt> вихід.txt
$ вихід кішки.txt

Наступний результат з’явиться після запуску вищевказаних команд. Вихідні дані.txt-файл показує змінений вміст після застосування заміни. Тут зміст 5-го рядка змінено, а 'arnob45' змінено на 'arnob90'.

Приклад 6: Додайте рядок на початку кожного рядка файлу, розділеного табуляцією

Далі, команда 'awk', опція '-F' використовується для розподілу вмісту файлу на основі вкладки (\ t). OFS використовував додавання коми (,) як роздільника поля у вихідних даних. Функція sub () використовується для додавання рядка '- →' на початку кожного рядка виводу.

$ користувачі котів.txt
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); друк користувачів $ 1, $ 2, $ 3'.txt

Наступний результат з’явиться після запуску вищевказаних команд. Кожне значення поля відокремлюється комою (,), а рядок додається на початку кожного рядка.

Приклад-7: Замініть значення файлу, розділеного табуляцією, за допомогою функції gsub ()

Функція gsub () використовується в команді 'awk' для глобальної заміни. Усі рядкові значення файлу замінять місце збігу шаблону пошуку. Основна різниця між функціями sub () та gsub () полягає в тому, що функція sub () зупиняє завдання заміни після пошуку першого відповідника, а функція gsub () шукає шаблон у кінці файлу для заміни. Наступна команда 'awk' буде шукати слова 'nila' та 'Mira' глобально у файлі та замінятиме всі випадки текстом, 'Invalid Name', де шукане слово відповідає.

$ користувачі котів.txt
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Недійсне ім'я"); print 'користувачів.txt

Наступний результат з’явиться після запуску вищевказаних команд. Слово "nila" існує два рази у 3-му рядку файлу, який замінено словом "Недійсне ім'я" у вихідних даних.

Приклад 8: Надрукуйте відформатований вміст із файлу, розділеного табуляцією

Наступна команда 'awk' надрукує перший та другий стовпці файлу з форматуванням за допомогою printf. Вихідні дані відображатимуть ім’я користувача, вкладаючи електронну адресу в дужки.

$ користувачі котів.txt
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' користувачів.txt

Наступний результат з’явиться після запуску вищевказаних команд.

Висновок

Будь-який файл, розділений табуляцією, можна легко проаналізувати та надрукувати за допомогою іншого роздільника за допомогою команди 'awk'. Шляхи розбору файлів, розділених табуляцією, та друку в різних форматах показані в цьому посібнику на багатьох прикладах. Використання функцій sub () та gsub () у команді 'awk' для заміщення вмісту файлу, розділеного табуляцією, також пояснюється в цьому посібнику. Сподіваюся, цей посібник допоможе читачам легко проаналізувати файл, розділений табуляцією, після належного відпрацювання прикладів цього підручника.

Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...
Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...