Mandriva Linux. Полное руководство пользователя (1077317), страница 54
Текст из файла (страница 54)
Вам уже было показано, как использовать связку команд н как вычяп(вгъ выходные данные для лучшего восприятия (см. разд, 'Пеуаяояуаеламиа и канаем", ст)ь ЗВВ). Тверь настало время мзучнта еше юаколъхо полезных утилю; которые дадут вам повышенный контроль и повышенную пролухтнвяость Эта гмава подразумевает под собой набор упражнений. чтобы вы моглв пояностьэо усвоить изложеяяые а ней функции и их использование Понтону каждал из комвидбудет продемонстрирована на примере, Не бойтесь останааливатъся н аавсульгнроватьси со страницами руководств по лэобой нз зтнх команд В нижней частя каждой из них аы яайдйте раздел "иБ А(з(у' ("см.
тдкжР'), уккмсашопшй иа другие интересу1ощяе вас комаядъь Те~еръ у вас будет новая область ямш исследования своей системы мг)()/( (оох) 31.1. Операции с файлами и фильтрация Основная часть работы комакняой строки ведегск с федям~к В атом разделе мы рассмотрим, как просматривать и фзлътровать содержимоефайлов,извлекать из 4~аялон яужнув ижрорэпмппо прн помощи одной команды и сортировать солвржимое файла 31.1.1. сай.
сея!. Ьвв(). йве: Ковааиды дди вывода содержимого Файлов Этя команды иммет по пи один и тот же синтаксис име хонкадм (оппяк) (файл (и) ), и могут быть испоаъзоваяы в каналах. Все ояи исяолъзуяпсв для вывода часта Файла согласно опре,аелйнным критериям, зтилита сас объединяет файлы и наводят результат настащдартямй вывод которым объгаио яалветсв экран ашпего компьзотаре Это одна из наиболее часто используемых команд. Например.
вы можете использовать: для вмвща ссдержимого Файла журнала почтового демона ив стандартный вывщ". Команда сас имеет очень полезнув опцкю (-о), которая:хкеволяет вем выковать номера строк. ). Некоторые примеры в этом разделе осыпаем яа раааъаой работе с Фааламм мурвааоа аеавгормх сеуаероа (служб. лемеяса). збелвтасъ„что у вас занущак ага(ор((исзаалаат журвеларааать деастаяя даменов) и ееогаезствующва дамоа (а павам случае Репах), и чае ам е работвете оод хооь.
Естаатаеаио ам всегда монета пянмаюпь ааааа ирямерм в лругам фаалам. г"леее Л. Уявьпзпм яомемдкоб стирала Некоторые файлы, типа журналов демонов (если пви эапупгены), обычно имеют доеолькоболывой размере и полный их вывод па зкреи будет не очень полезным.
Вообще говоря, вам нужны только несколько строк пз файла Длв етого вы можете воспользозатьсз командой ел 1 1. Следувкцаз команда выведет (по умолчанию) последние Ю строк из файла /иатг1офва11г1вта: Ф Сь11 гтегИатуне11ГЭвта Файлы гила журналов обычнодинамически нэмвпвютоьтлю.демоны постояниодсбезлявт в ивх отчйты о совержйнных дейспцппс плн событнвв Длл наблюдение за вэмененкямя в лщ.файле в режиме реального времени вы можете эослользоватьсв прелмуществамн опции -Г: В этом случае все иэмепеинл в файле /твтг1ой7ваШ1лэа будут немцдленно вызодктьсл катран. Использование команды са11 с опцией -б весьма полезно, когда вам нужно знать, кзк рабопкгт ваша система Например, иабллцдзл за файлом журнала Утагг" Хофвеввабев, вы сможете всегда получать обновлйкяую изформацюо о системных сообщениях н реээгвчвых двмоизх.
Если вы используете та 11 длв нескольких файлов, опа будет вьпкщкть в отдельной строке имена этих файлов перед выводом их содержимого Рабата с апцяей -б при этом также аозможвз„что яллветси ценным дополвенвем длв вайль:денни эа взаимодействием рззлнчвых частей свстемьь Вы можете испольэовать опцию -ю длл вывцда последних и строк файла. Напрвмер, для вывода наследиях 2-х строк иаберитж Как в длв других комедд, вы можете сдвовременно испольэовать резные опции.
Нв пример, прн одновременном использовании опций -п2 и -б вы начийте с двух послцдних строк файла м будете продожквгь наблюдать появление новых строк по мере добавлении их в файл журнзлв. Команда певб похожа на св11, но она выводит первые строки фа%а. Следующее комвздв выведет (по умолчанию) первые Ю строк файла гтатг1об7на11/элла: Как я в случал с Са11, вм можете указать опцию -и для указания числа выводимых строк. Например, длв въпюда первых 2-х избернтж 4 ьем! -гя ХмагР1оЭЛва11Ивта 2. Вларинер,4ьавл ФъвИ1еэ/вз41йзтесадвувгнт нифорнзцзюоба ммх атпрьглезнми азю нах, саабщеиних о выборке по им пальэазателзмн ао щютсколу РОР н еж Хлева 31. Угнпаощы намеадмой спйгоаи Также вы молгете использовать эти две команды соеместна Наоркмер, если вы хотите увидеть только строки 9 и 10, вы можете воспользоваться командой„в которой пеап выберет первые 10 строк из файла н передаст нх по каналу в комлндунаАХ.
Прн этом последнялкомацла возьмат послцлняе2 строка н вывцает их иввхрагь Таким же способом аьг можете выбрать 20.а ст юнца файла строку; В етом примере мьг говорки команде та 3 ~ ежа последние 20 строк н передать нх по канаду в Ьеаг1. Ватам комащвь 'пеад выводят нв иеран первую строку иэ пояучееных денных Допустим, что нам нужно вывести ввэкрак результат последнего примера н сохранять его в файл тевэМе.ехс. Нам может помочь угвлитв сев.
ЕЬ синтаксис саа $анна4 Гйааа3 Теперь мы можем изменить предыдущую команду слелукяцкм образоьс е аагз -атс гтагГгаткаахгГхага ааааа -аГ1саа гаааГса.саа Давайте рассмотрим еще одея пример. Нем нулгяо выбрать последние 26 строк. сгь хранить их и 4жйл хевпйсв.схс, а на экран еьлмстн толью первую из нгоь Топнг ааа должны ввести следукицее~ У команды сее есть полезная опцкя (-а), которве позволяет аам дописать данные в конец существующего файла. В следующем разделе мы увндньс нак можно всповьагнать команду йгер в качестве фильтра для отделения сообщений Розс1и от сообщений других служб, 31.1.2. йтер. "Поиск строк в файлах Нн имя юмвнды, нв ей еббрееннгура ("ь еоеге1 Кебп1аг Ехргеееюп Рагеег" - сннтаксяческайааалнзатор общих регулярных выражений) не ввлжтся иятуктквнымн, сдивко ейлействяе и использование довольно простат йгер кщвг в одном нлн нескольких файлах шаблон, заданный в качестве аргумента.
Ей синтаксжх Если указано неснолъао файлое,в отображаемом результате их кменаб1пут вмлсднтьсл перел каждой найденной строкой. Вы можете использовать агщяю -Ь для вредотврацения вывела эткх имея илн вы можате нспсльзоевть опцню-х для выааплтолько з'ляев31.
з»езплпглм козыиеией сезраип имйи файлов с вайцешпями совпедышямв. Шаблов - вто регулярное вырывание, хати в большинстве случаев ои сап»опт пз олиагоелииствеииаго слова. Наиболее часта используемые ошпис ° -1з поиск без учйтв регистра(т*.е. игвориравзлке разинцы между мрхекм в нижним регистрам В ° -з»: абратяый поиск. Вьпюд сарж, которые ве соответствуют шаблону; ° -пз вывод камера строки для каждой из найденных стра»С -и: сообщает бгер'у, что пгаблои должал совпадать со всем словозь Итак. давайте теперь вериемся к апализу ли файла почтовсво лемана. Нвм иесбходимо найти все строки в файле г'татЛ.ойгиазх/злто.
озперлгвпжс пжблоя розгбх". Лля этого мы веацим такую комаилу: Если ивм нужно найти все строки. НЕ содержшпие щаблоиа роас И.х, нам необходимо васпользсааться опцией -ж Ф Еяер -ч раясгзя у»»яг/зад»езгтззяее Команду йгер можно использовать в капелек. Допустим, что вам нужна найти все сообщения аб успешко атправлеииых письмах.
В зтам случае иы должны атфильтроекгь все строки, добввлевиые почтовым лекоком в файл журнала (содержащие швблак ровс с 1хь и аив должки содержать саабпыиие аб успешной отправке (всаспе-еепф." В зтам случае команда йгер использоваиа девжлы. Это разрешается, ио вытлкцит ие совсем красиво. Тот зке результат может бмгь получен прк помаши утилиты У»утер. По сути сдсер — зто более простой способ длл вызова»зсер -р. Сиачала вам нужно создать фяал, сцлержяяпвй п»ябяавьг, зепксяяяые е атлальмоп строке каждый. Такой файл может бь»ть создав следующим образом(мы используем рессвтлв.
схт, в качеспзе имени файла): Проверьте результат козм»ндай пас. »»и - вто специальный пзаблои, означающий "новую строку". Затем мы вызываем с;щт»»ющую камы»лу, в которой мы используем файл рассетвв. схс к утили.гу щсер вместо "двойного вьгзова" команды йтер: 3. Хотя мамаю вмпаливть фелътряшпа просто па п»яблаиу состояния. пожалуйста,. позволь- те иям показать вем е етом примере иеяу»а канавку. Главе 31. Углнлнпгм н|ьманднаа сглупа $ Хагеу — г .Фассэг||э.сяс г|ч|г|геегвзы|э||ЬР Файл . Урассеглл. схс может сцаержать сколько угодна омблояоа Например, для выборки сосбщенкв о письмах,успению отправленных на адресрепехФмак~гХьа.сот, достаточно будет добавить этот электронный адрес в паш файл .
Урассетпе. схс. выполнив следующую команду Понятное дела, что вы можете комбинировать команду егер с саха и г|нао. Если нам нужно найти сообщения о прелнослеляем электронном пясьмг„отправленном на адрес ресогйл|аппгьта. сот мы используем| $ гчгея -г ./Вессьгве.сяс /чегИ||е|||ьызуэяхе 1 сей -аэ 1 ььяе -я4 Здесь мы прнмевнлн описанный вылов фильтр н отпраавлн результат черве канал в команды с аХ Х и йеао. Они выбраля вз данных предпоследнее значение 31Л.З. ер ер: Регулириые выраженим и финьтроваиие С помощью йгер мы ограничены щаблояамя я фккснровапиъьтя даянымм Как нам найти все электровяые аксьме, отправленные каждому работнику "АВС Согреву"У Перечягленяе всех нх электроапых адресов будет пе такой уж и простой закачав т.к мы можем пропустить кого-либо, нли нам прндйтсл вручную копатьсл в фаалежурвв- Как и в случавс Мохер, йгер имеет сокращенный вызоедля комаядьщгер -Е; ног яр.
ногир использует регулярные выражении вместо шаблонсль предоставляя пам более мощный интерфейс для "нгефьаьа текста. Вдобавок к тому, что мы упомкналя н резд. "'Шаблоны педс|яанаакн е камеьаЬам процессоре „пгр, М7 прн рассмотрения ппблоаов подстановки, ест еще несколько дополнительных регулярных выражений ° ~ | а1пмп | 3, (: а1рг|в . ") н ~ ".