Skip to content

Commit

Permalink
awk, find, grep: add Ukrainian translation
Browse files Browse the repository at this point in the history
  • Loading branch information
dmytrovoytko authored Oct 11, 2024
1 parent e2cf71f commit aab6975
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 0 deletions.
36 changes: 36 additions & 0 deletions pages.uk/common/awk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# awk

> Універсальна мова програмування для роботи з файлами.
> Більше інформації: <https://github.com/onetrueawk/awk>.
- Вивести п’ятий стовпець (він же поле) у файлі, розділеному пробілами:

`awk '{print $5}' {{шлях/до/файлу}}`

- Вивести другий стовпець рядків, що містять "foo", у файлі, розділеному пробілами:

`awk '/{{foo}}/ {print $2}' {{шлях/до/файлу}}`

- Вивести останній стовпець кожного рядка у файлі, використовуючи кому (замість пробілу) як роздільник полів:

`awk -F ',' '{print $NF}' {{шлях/до/файлу}}`

- Підсумувати значення в першому стовпці файлу та надрукувати підсумок:

`awk '{s+=$1} END {print s}' {{шлях/до/файлу}}`

- Вивести кожен третій рядок, починаючи з першого:

`awk 'NR%3==1' {{шлях/до/файлу}}`

- Вивести різні значення залежно від умов:

`awk '{if ($1 == "foo") print "Точний збіг foo"; else if ($1 ~ "bar") print "Частковий збіг bar"; else print "Baz"}' {{шлях/до/файлу}}`

- Вивести всі рядки, значення 10-го стовпця яких знаходиться між min і max:

`awk '($10 >= {{min_value}} && $10 <= {{max_value}})'`

- Вивести таблицю користувачів із UID >=1000 із заголовком і відформатованим виводом, використовуючи двокрапку як роздільник («%-20s» означає: 20 символів рядка з вирівнюванням по лівому краю, «%6s» означає: 6 символів рядка з вирівнюванням по правому краю):

`awk 'BEGIN {FS=":";printf "%-20s %6s %25s\n", "Name", "UID", "Shell"} $4 >= 1000 {printf "%-20s %6d %25s\n", $1, $4, $7}' /etc/passwd`
36 changes: 36 additions & 0 deletions pages.uk/common/find.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# find

> Пошук файлів або каталогів в дереві каталогів, рекурсивно.
> Більше інформації: <https://manned.org/find>.
- Знайти файли за розширенням:

`find {{кореневий_шлях}} -name '{{*.ext}}'`

- Знайти файли, що відповідають декільком шаблонам шляху/імен:

`find {{кореневий_шлях}} -path '{{**/path/**/*.ext}}' -or -name '{{*шаблон*}}'`

- Знайти каталоги, що відповідають заданому імені, у режимі без урахування регістру:

`find {{кореневий_шлях}} -type d -iname '{{*lib*}}'`

- Знайти файли, що відповідають заданому шаблону, за винятком певних шляхів:

`find {{кореневий_шлях}} -name '{{*.py}}' -not -path '{{*/site-packages/*}}'`

- Знайти файли, що відповідають заданому діапазону розмірів, обмеживши рекурсивну глибину до "1":

`find {{кореневий_шлях}} -maxdepth 1 -size {{+500k}} -size {{-10M}}`

- Виконати команду для кожного файлу (використовуйте `{}` в команді, щоб отримати доступ до імені файлу):

`find {{кореневий_шлях}} -name '{{*.ext}}' -exec {{wc -l}} {} \;`

- Знайти всі файли, змінені сьогодні, і передати результати одній команді як аргументи:

`find {{кореневий_шлях}} -daystart -mtime {{-1}} -exec {{tar -cvf archive.tar}} {} \+`

- Знайти порожні файли (0 байт) або каталоги та докладно видалити їх:

`find {{кореневий_шлях}} -type {{f|d}} -empty -delete -print`
36 changes: 36 additions & 0 deletions pages.uk/common/grep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# grep

> Пошук шаблонів у файлах за допомогою регулярних виразів.
> Більше інформації: <https://www.gnu.org/software/grep/manual/grep.html>.
- Знайти шаблон у файлі:

`grep "{{шаблон_пошуку}}" {{шлях/до/файлу}}`

- Знайти точний рядок (відключає регулярні вирази):

`grep {{-F|--fixed-strings}} "{{точний_рядок}}" {{шлях/до/файлу}}`

- Знайти шаблон у всіх файлах рекурсивно в каталозі, виводячи номери рядків збігів, ігноруючи бінарні файли:

`grep {{-r|--recursive}} {{-n|--line-number}} --binary-files {{without-match}} "{{шаблон_пошуку}}" {{шлях/до/каталогу}}`

- Використовувати розширені регулярні вирази (підтримує `?`, `+`, `{}`, `()` та `|`), у режимі без урахування регістру:

`grep {{-E|--extended-regexp}} {{-i|--ignore-case}} "{{шаблон_пошуку}}" {{шлях/до/файлу}}`

- Вивести 3 рядки контексту навколо, до, або після кожного збігу:

`grep --{{context|before-context|after-context}} 3 "{{шаблон_пошуку}}" {{шлях/до/файлу}}`

- Вивести назву файлу та номер рядка для кожного збігу з кольоровим виводом:

`grep {{-H|--with-filename}} {{-n|--line-number}} --color=always "{{шаблон_пошуку}}" {{шлях/до/файлу}}`

- Шукати рядкі, що відповідають шаблону, виводячи лише відповідний текст:

`grep {{-o|--only-matching}} "{{шаблон_пошуку}}" {{шлях/до/файлу}}`

- Знайти в `stdin` рядки, які не відповідають шаблону:

`cat {{шлях/до/файлу}} | grep {{-v|--invert-match}} "{{шаблон_пошуку}}"`

0 comments on commit aab6975

Please sign in to comment.