ПредишенСледващото

Използването на съкращения

Построява се използва за изходни линии, съответстващи на дадена маска:

могат да бъдат намалени, за да

Условията в AWK могат да бъдат установени извън скобите, т.е. получаваме:

По подразбиране, действията се извършват с цялата линия, 0 $ може да се пропусне:

печат - е действието по подразбиране, също така е възможно да се пропусне:

За да се извлече стойностите на първия ред на колоната, в която маска LEGO е:

За да се извлече стойностите на първия ред на колоната, втората колона маската LEGO, която е:

За да се замени думата в LIGO LEGO и могат да бъдат използвани за печат само променени редове:

Но ако искате да покажете всички редове (като СЕД е / LIGO / LEGO / "), структурата може да бъде опростено (1 - важи за всички редове):

Извадете всички струни, с изключение на един от всеки шест:

Изходни линии от 6 (например опашка -п 6 или СЕД "1,5d):

Печат на линии, в който втората стойност на колоната е Foo:

Печат на линии, в която 6 или повече колони:

Печат на линии, които съдържат думата дрън и бара:

Печат на линии, които съдържат думата на Mt., но няма бар:

Печат на линиите, където има думи или Foo бар (като Впиши -e "трънки" -e "бар"):

Теглене на всички не-празни редове:

Теглене на всички линии чрез премахване на съдържанието на последната колона:

Печат на броя на редовете в предната част на съдържанието:

Сменете команда (прескочи един тръбопровод, филтър низ и да се замени с Foo Foo на бар, а след това се превежда с главна буква и извежда стойността на втората колона):

структура, аналогична на AWK:

Използването на вериги

Изходни групи от редове, като се започне от ред, в които има Foo, и завършва с линията, в които има бар:

Изключването от изхода линия от въвеждане на набор от маски:

По-добър вариант:

Изключване само въвеждане на нулева прекратен (бар)

Изключване линия само с началната поява (Фу)

Partition файла на шаблона

Има изображение (файл), в които групи от редовете са разделени шаблон foo1, FOO2 т.н. Трябва да записва данни между FOO етикети в различни файлове, които съответстват на номерата в FOO.

В GNU Awk да направите това:

разбор на CSV файл

По подразбиране раздели и пространства се използват като сепаратор. За да определите разделител, като запетая, използвайте FS = ',' или опция «-F».
Редовното експресията може да бъде дефинирана като параметър, например:

Но тя не е подходяща за разбор CSV, защото пропуските могат да присъстват вътре в реда, така че е по-лесно да се намали водещите пространства преди и след десетичната запетая:

Ако данните се поставя в кавички, например «Field1", »в CSV Field2», а след това се поберат следния скрипт:

Но сценарият ще трябва да се подобри, за да се анализира вида на полета:

Field1, «Field2, с, запетаи». Field3. «Field4, Foo»

Сравнявайки два файла

Изход от всички дублиращи се редове от две несортиран файлове ФАЙЛ_1 и ФАЙЛ_2:

Изходни само избран текстови блокове

Например, за да покаже файла с текст само текст маркиран като = = текст може да се използва:

форматиране на нов ред:

Полезни връзки:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!