'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 для подстановки содержимого файла с разделителями табуляцией. Я надеюсь, что этот учебник поможет читателям легко разобрать файл с разделителями табуляции после правильного изучения примеров из этого руководства.