Biblioteca de cunoștințe

1.0 Работа с кодом bash

 

Работа с  кодом в  bash

Работа с  кодом  bash. Bash - язык программирования, большинство скриптов в ОС Unix написаны с применением именно этого языка.

Любой из них начинается строкой(Ша-банг):

 

#!/bin/bash

 

 

Оператор grep

Учимся искать используя GREP.

//Поиск без учета регистра слова

grep -i -w vivek /etc/passwd

 

//поиск слова vivek или raj

grep -E -i -w 'vivek|raj' /etc/passwd

 

//ищем строки которые начинаются со слова vivek

 

grep ^vivek /etc/passwd

//искать строки которые начитаются только с vivek (и не показывать vivek1 //vivek2 vivekgite)

grep -w ^vivek /etc/passwd

 

//Поиск строки заканчивающейся на foo:

grep 'foo$' filename

 

//Поиск строки содержащей только foo

grep '^foo$' filename

 

//А можем поискать пустые строки в файле

grep '^$' filename

 

Так же при использовании Grep можно использовать такие выражения.

[:alnum:] - посик буквенно-цифровых символов.

[:alpha:] - буквенных символов

[:blank:] - space и tab.

[:digit:] - цифры: '0 1 2 3 4 5 6 7 8 9'.

[:lower:] - прописные буквы: 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.

[:space:] - пустые символы: tab, newline, vertical tab, form feed, carriage return, and space.

[:upper:] - заглавные буквы: 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'.

 

//Поиск всех строк начинающихся с точки и цифры

grep '^\.[0-9]' filename

 

//поиск куска (части) строки

grep '192.168.1.254' /etc/hosts

 

WC

wc -- "word count", счетчик слов в файле или в потоке:

 

wc -w подсчитывает только слова.

 

wc -l подсчитывает только строки.

 

wc -c подсчитывает только символы.

 

wc -L возвращает длину наибольшей строки.

 

//найти и заменить

 

cat file|while read i; do echo ${i//ЧТО_МЕНЯЕМ\"\"/НА_ЧТО_МЕНЯЕМ"}; done > newfile; mv newfile file;

 

sed -i -e 's/ЧТО_МЕНЯЕМ/НА_ЧТО_МЕНЯЕМ/' file

 

perl -i -p -e 's/ЧТО_МЕНЯЕМ/НА_ЧТО_МЕНЯЕМ/' file

 

awk '/ЧТО_МЕНЯЕМ/{ print "НА_ЧТО_МЕНЯЕМ"} !/ЧТО_МЕНЯЕМ/{print $0}' file > newfile; mv newfile file....

 

#вставит содержимое из файла /file1 в 21+ строки файла /etc/nginx/nginx.conf

 

sed -i '20r /file1' /etc/nginx/nginx.conf

запишем в переменную str номер строки файла etc/nginx/nginx.conf которая содержит слово gzip_disable

 

str=$(grep -n gzip_disable /etc/nginx/nginx.conf | cut -d ':' -f1)

 

Операторы в языке Bash.

Предупреждение : Выглядит страшно непонятно, но тут очень полезная информация!

 

Cпасибо автору ОГРОМНОЕ!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запроса!

 Источник:

https://onedayadmin.sytes.net/bash-rabota-s-tekstom/

                                                                                           Конец! 

  • Bash, sed, perl
  • 0 utilizatori au considerat informaţia utilă
Răspunsul a fost util?

Articole similare

0 Заметки про язык машин: Bash - PowerShell

Bash и PowerShell - азы CLI!  Данный опус является частью единого цикла заметок...