Сценарії bash - приклади linux

У цій статті поговоримо про сценарії bash, на прикладах ви зрозумієте наскільки вони зручні і як ними користуватися.

Перш ніж перейти до завдань, яких у нас сьогодні 12, потрібно розповісти як запускати сценарії запитали: То кожен сценарій ми будемо розміщувати в файл з розширенням .sh (це розширення сценаріїв в оболонці bash).

Викликається цей файл в командному рядку за допомогою наступної конструкції: ./primer.sh. але перш ніж запускати цей файл, потрібно встановити права доступу на нього: chmod a + rx primer.sh. і тільки після цього запускати файл в командному рядку.

Програмуємо в командному рядку

  1. Визначте чи є в текстовому файлі слово root, виведіть тільки відповідь міститься чи ні.
    Створюємо файл pr1.sh в який поміщаємо наступний код:

Далі в командному рядку міняємо права доступу:

Потім викликаємо цей скрипт з 1 параметром (ім'я файлу):
./pr1.sh filename
Для наступних файлів потрібно виконати теж саме (за винятком параметрів, вони у кожного сценарію різні)
  • Визначте чи збігаються перші рядки двох текстових файлів і виведіть відповідне повідомлення. Сподіваюся, всім очевидно, що цей сценарій викликається з 2 параметрами:
    ./pr2.sh filename1 filename2
  • Обчисліть і виведіть перші 7 значень факторіала.
  • Виведіть 25 випадкових чисел у формі квадрата 5х5.

    текстові файли

  • Використовуючи цикл, створіть 10 файлів (rating1 ... rating10) для студентів в форматі: <фамилия> <оценка 1> <оценка 2> ... <оценка 100>.
  • Створіть один підсумковий файл у форматі один студент - один рядок. <фамилия> <оценка1> <оценка 2> ... <оценка 100>
  • Є 10 файлів. В кожному файлі є рядки з заголовком і відповідними даними під ними. Заголовки у всіх файлах однакові, дані - різні.
    Тема 1
    дані 1.1
    Тема 2
    дані 1.2
    ......
    Наприклад: file1.txt
    > hg19
    aaaaaaaa
    > mm9
    bbbbbbb
    file2.txt
    > hg19
    cccccccc
    > mm9
    dddddddНадо створити результуючий файл chr.fasta, в якому під заголовками будуть рядки з даними, послідовно склеєними з усіх 10 файлів.
    Тема 1
    Дані 1.1 Дані 2.1 Дані 3.1 ...
    Тема 2
    Дані 1.2 Дані 2.2 Дані 3.2 ... ...... Файли додаються в архіві.

    Сценарії bash

  • Змініть скрипт (Приклад case, лекція 10) так щоб продовжував очікувати введення клавіш, виводячи результати кожного натискання, поки не натиснута клавіша "X".
  • Напишіть сценарій, який перевіряє ім'я поточного каталогу і виводить повідомлення про помилку, якщо воно коротше п'яти символів.
  • Потрібно перевірити, чи є файл звичайним або він є каталогом. Якщо це звичайний файл, то сценарій повинен виводити ім'я файлу і його розмір. У разі, якщо розмір файлу перевищує кілобайт, то розмір повинен виводитися в кілобайтах. Якщо розмір перевищує мегабайт - в мегабайтах. Ознайомтеся з командою du.
  • Напишіть сценарій, який виводить посекундно в циклі імена файлів поточного каталогу і їх порядковий номер.
  • Напишіть сценарій, який генерує тисячу файлів 1.txt .... 1000.txt, і в кожен файл записує поспіль 100 чисел N, де N = порядковий номер файлу. Потім скрипт повинен з'єднати в один файл все файли з парними номерами (even.txt) і в інший файл - все файли з непарними номерами (odd.txt).
  • Поділитися посиланням:

    Схожі статті