Awk

Как разобрать файл с разделителями табуляцией с помощью awk

Как разобрать файл с разделителями табуляцией с помощью awk

'tab' используется как разделитель в файле с разделителями табуляции. Этот тип текстового файла создан для хранения различных типов текстовых данных в структурированном формате.  В Linux существуют разные типы команд для анализа этого типа файла.  Команда awk - это один из способов разобрать файл с разделителями табуляцией разными способами. Использование команды awk для чтения файла с разделителями табуляции показано в этом руководстве.

Создайте файл с разделителями табуляции:

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

пользователи.текст

Имя Электронная почта Имя пользователя Пароль
Мкр. Робин [адрес электронной почты] robin89 563425
Нила Хасан [адрес электронной почты защищен] nila78 245667
Мирза Аббас [адрес электронной почты защищен] mirza23 534788
Аорноб Хасан [адрес электронной почты защищен] arnob45 778473
Нухас Ахсан [адрес электронной почты защищен] nuhas34 563452

Пример-1: Распечатать второй столбец файла с разделителями табуляцией, используя параметр -F

Следующая команда sed напечатает второй столбец текстового файла с разделителями табуляции. Здесь '-F' опция используется для определения разделителя полей файла.

пользователи $ cat.текст
$ awk -F '\ t' 'print $ 2' пользователей.текст

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

Пример-2: Распечатать первый столбец файла с разделителями табуляцией, используя переменную FS

Следующая команда 'sed' напечатает первый столбец текстового файла с разделителями табуляции. Здесь, FS Переменная (Разделитель полей) используется для определения разделителя полей файла.

пользователи $ cat.текст
$ awk 'print $ 1' FS = '\ t' пользователей.текст

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

Пример-3: Распечатать третий столбец файла с разделителями табуляции с форматированием

Следующая команда 'sed' напечатает третий столбец текстового файла с разделителями табуляции с форматированием с использованием FS переменная и printf. Здесь FS переменная используется для определения разделителя полей файла.

пользователи $ cat.текст
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' пользователей.текст

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

Пример-4: Распечатать третий и четвертый столбцы файла с разделителями табуляции с помощью OFS

OFS (разделитель выходных полей) используется для добавления разделителя полей в выходные данные. Следующая команда 'awk' разделит содержимое файла на основе разделителя табуляции (\ t) и распечатает 3-й и 4-й столбцы, используя табуляцию (\ t) в качестве разделителя.

пользователи $ cat.текст
$ awk -F "\ t" 'OFS = "\ t" print $ 3, $ 4> ("output.txt ") 'пользователей.текст
выход $ cat.текст

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

Пример-5: Заменить конкретное содержимое файла с разделителями табуляции

Функция sub () используется в команде awk для подстановки. Следующая команда awk будет искать число 45 и заменять его числом 90, если число для поиска существует в файле. После подстановки содержимое файла будет сохранено в выводе.txt файл.

пользователи $ cat.текст
$ awk -F "\ t" 'sub (/ 45 /, 90); print' пользователи.txt> вывод.текст
выход $ cat.текст

Следующий вывод появится после выполнения вышеуказанных команд. Выход.txt показывает измененное содержимое после применения подстановки. Здесь содержимое 5-й строки было изменено, и 'arnob45' заменено на 'arnob90'.

Пример-6: Добавить строку в начало каждой строки файла с разделителями табуляции

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

пользователи $ cat.текст
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); распечатать пользователей $ 1, $ 2, $ 3'.текст

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

Пример 7. Подставьте значение файла с разделителями табуляции с помощью функции gsub ()

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

пользователи $ cat.текст
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Неверное имя"); print 'пользователи.текст

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

Пример 8: Распечатать форматированный контент из файла с разделителями табуляции

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

пользователи $ cat.текст
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' пользователей.текст

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

Заключение

Любой файл с разделителями табуляции можно легко проанализировать и распечатать с другим разделителем с помощью команды awk. Способы анализа файлов с разделителями-табуляторами и печати в различных форматах показаны в этом руководстве на нескольких примерах. В этом руководстве также объясняется использование функций sub () и gsub () в команде awk для подстановки содержимого файла с разделителями табуляцией. Я надеюсь, что этот учебник поможет читателям легко разобрать файл с разделителями табуляции после правильного изучения примеров из этого руководства.

Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...