training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Поиск строк по определённому слову BASH

Создано: 24 ноября 2017Автор: Егор Астапов1390 просмотровСложность: легкий

Допустим у вас есть два текстовых файла. Большой файл содержит информацию с настройками. В маленький файл вам необходимо записать результат поиска. Тут есть несколько путей. Самый долгий и сложный - это крутить цикл и перебирать каждую строку. Для того чтобы упростить подобную задачу есть функция awk для поиска строк. Она пробежится по всему текстовому документу и найденный результат покажет в одной строке. В результате у вас будет одна большая строка. Посмотрите на файл с настройками.


#сам файл file.txt
server: 000.00.00.00
server_name: you_server
desсription: некое описание для вашего сервера

text1
text2
text3

Посмотрите на скрипт


#!/bin/bash
#что ищем
search='server_name'

#поиск с выражениеми
text=$(awk '/^'$search'/{print $0}' file.txt)

echo "результат поиска: "$text > file2.txt
#вывод:
#результат поиска: server_name: you_server

Помимо awk существует функция grep. Она довольно популярная функция. Читайте статью поиск по файлам и папкам grep BASH.

Комментарии

реклама