SED означава редактор на потоци. Можете да го използвате в Linux или UNIX и като терминал на командния ред или можете да стартирате вашата Linux команда чрез SED. Можете да го използвате за заместване на текст за намиране и замяна. SED също така извършва много манипулации върху текста като търсене, изтриване и вмъкване. Можете да редактирате файла с помощта на SED, без да отваряте файловете. SED също така предоставя по-добър начин за използване на аритметичната операция и тяхното манипулиране.
В тази статия ще обсъдим използването на SED. Как да използвате GNU SED с различни команди и техните примери.
Преглед на SED
Има три стъпки в SED за изпълнение на задача:
Червени данни или команда от входен поток
Изпълнете и изпълнете тези команди
Покажете резултатите в изходния поток
Опции в SED
С SED командите можете да използвате различни опции, които изпълняват някои специфични задачи срещу тези команди:
–i Тази опция помага за редактиране на изходните файлове
–e Ако искате да стартирате няколко SED команди с една команда, тогава –e е много полезно.
–n Тази опция се използва за изход по подразбиране.
–f Тази опция помага за стартиране на SED скриптови файлове.
SED команди със специални символи
SED също предоставя някои специални знаци. Можете да използвате тези знаци за различни цели. Някои специални знаци и тяхното описание са дадени по-долу:
^ Този знак помага да се намери началото на реда.
$ Знакът за долар помага за намиране на края на реда.
. Знак с точка намерете единичните знаци от текста.
* Стеричният знак намира поява на предишния знак.
Как да използвате SED с команди и техните примери
Подобно на командите на Linux, SED има свои собствени команди и има много команди, налични в SED. Сега се фокусираме върху различни SED команди с примери:
Вземете линиите от файл с даден диапазон
# sed -n ‘ 8, 12p ‘ filename.txt
Горната команда връща редовете от 8 до 12 от filename.txt.
Вземете всички линии с изключение на даден диапазон
# sed ‘ 15, 25d ‘ filename.txt
Тази команда ще върне целия текст от името на файла с изключение на редове от 15 до 25.
Използването на опция -e
# сед -нито едното ´ 4, 8p ´ -И „12, 16p“ име на файл.txt
Тази команда ще изведе редовете от 4 до 8 и също така ще върне от 12 до 16 от целия текст във filename.txt.
Вмъкване на празни пространства във файлове
SED предоставя команда за вмъкване на празни интервали в текста на файла.
# sed G име на файл.txt
Търсете данни и ги заменете
Можете да намерите някакъв текст или данни от файл в SED и да замените тези данни с помощта на команда:
# sed ‘ s/John/William/g’ filename.txt
В тази команда първо SED ще намери John и след това ще го замени с William в целия файл.
Добавете пълен ред след или преди
# sed ‘/John/a ‘ Добавете този нов ред след съвпадение на ‘ ‘ filename.txt
Тази команда работи подобно на горната команда, първо търсене по ключова дума, след което добавете даден нов ред след тази ключова дума.
Каква е употребата на командата sed?
ДРУГА команда в UNIX е означава редактор на потоци и може да изпълнява много неща функция във файл като, търсене, намиране и замяна, вмъкване или изтриване. Макар и най-често използване на командата SED в UNIX е за заместване или за намиране и замяна.
Как да стартирам sed скрипт?
Има два начина за тичащ сед :
можете да давате командите на команда ред: sed „s/yes/done/“ файл. Ако искате да използвате няколко команди, трябва да използвате опцията -e:
също така е възможно да поставите командите в отделен файл: sed -f sedsrc файл. където sedsrc съдържа необходимите команди.
Как да вмъкнете ред с помощта на sed?
sed – Вмъкване на линии във файл
Вмъкване на линия използвайки линия номер. Това ще вмъкнете на линия преди линия при линия номер „N“. Синтаксис: sed „Н и< ЛИНИЯ -TO-BE-ADDED>’ FILE.txt Пример:
Вмъкване на линии използвайки регулярен израз. Това ще вмъкнете на линия преди всеки линия където е намерено съвпадение на модела. Синтаксис:
Как използвате SED в Awk?
3 отговора
НАЧАЛО{FS=OFS= : } използвайте : като разделител на входно/изходно поле.
gsub(/ /,_,$2) заменя всички интервали с _ само за второ поле.
По същия начин други замествания, ако е необходимо.
1 в края на командата е идиоматичен начин за отпечатване на реда, включва всички направени промени.
Вижте също awk запазване на модификациите в място.
Как да заменя текста в awk?
Първата задача в нашият списък е заместител, който записваме като sub. Поддиректори awk за да намерите всички срещания на OLD_TERM и замени ги с NEW_TERM. Следващата ни инструкция насочва awk да отпечатате изхода в стандартния изходен поток; конзолата. Накрая имаме името на файла, който awk ще работи върху.
Можем ли да използваме awk вътре в awk?
Ти мога дори направи числовото сортиране вътре в awk , но това е твърде много работа за нищо.
Какво прави командата awk?
Awk е скриптов език, използван за манипулиране на данни и генериране на отчети. В команда awk езикът за програмиране не изисква компилиране и позволява на потребителя да използва променливи, числови функции, низови функции и логически оператори. Awk е използва се предимно за сканиране и обработка на шаблони.
Какво означава AWK?
(Вход 1 от 2) 1 остарял : обърнат или направен по грешен начин. 2 остарял : извратен. 3 остарял : неудобен, тромав.
Каква е разликата между sed и awk?
Основното разлика между sed и awk е това sed е командна програма, която работи с потоци от знаци за търсене, филтриране и обработка на текст докато awk по-мощен и здрав от sed със сложни програмни конструкции като if/else, while, do/while и т.н.
Как да напиша awk скрипт?
#!/usr/bin/ awk -f НАЧАЛО { printf %s
, Писане Моят първи Awk изпълним скрипт ! }
Обяснение на реда по-горе:
#! – наричано Shebang, което определя преводач за инструкциите в a скрипт .
/usr/bin/ awk – е преводачът.
-f – опция за интерпретатор, използвана за четене на програмен файл.
Какво представлява $0 в awk?
$0 означава целия запис. Например, $0 представлява стойността на целия запис AWK програма, четена на стандартен вход. В AWK , $ означава поле и е не е тригер за разширяване на параметрите, тъй като е в черупката. Нашата примерна програма се състои от едно действие без присъстващ шаблон.
Какво означава печат $0?
Когато се намерят редове, съдържащи „li“, те са отпечатан защото ' отпечатайте $0 ' означава печат текущия ред. (Просто ' печат ' от само себе си означава същото нещо, така че бихме могли да го напишем вместо това.) Ще забележите, че наклонени черти (‘ / ‘) обграждат низа ‘ li ‘ в програмата awk.
Какво е awk и sed?
Awk , като Но , е език за програмиране, предназначен за работа с големи обеми текст. Но докато Но се използва за обработка и промяна на текст, Awk се използва най-вече като инструмент за анализ и отчитане. Awk работи чрез четене на текстов файл или входен поток един ред наведнъж.
Какво е $1 awk?
С awk , $1 се отнася до първото поле на текущия входен запис и $0 се отнася до пълния входен запис, докато в обвивката, $1 се отнася до първия позиционен параметър (обикновено първият аргумент в командния ред на скрипт или функция) и $0 обикновено се отнася до името на текущата обвивка или шел скрипт.
Какво AWK $2?
awk разделя своите входни редове на празно пространство (по подразбиране) и записва всяко поле като $1, $2 И така, действителният израз, който изпълнявате, означава: прочетете всеки входен ред, добавете 0,45 към стойността на първото поле и след това отпечатайте това поле, както и второто и третото.
Какво е печат $1?
I. Ако забележите awk ‘ отпечатайте $1 ' отпечатъци първа дума от всеки ред. Ако използвате $3, ще стане печат 3-та дума от всеки ред.
Как се сумира в awk?
2 отговора. -F’,“ казва awk че разделителят на полето за входа е запетая. { сума +=$4;} добавя стойността на 4-та колона към текущата сума. END{print сума ;} разказва awk за отпечатване на съдържанието на сума след като бъдат прочетени всички редове.