Skip to main content

Выполнение арифметических операций: команда expr

Команда expr вычисляет значение выражения, переданного в качестве аргумента, и посылает результат на стандартный вывод. Используется для выполнения операций над переменными языка Shell.

expr 11 + 49 + 2 + 64 + 1

127 (результат)

В expr можно применять следующие арифметические операторы: +, -, *, /, % (остаток). Все операнды и операции должны быть разделены пробелами. Знак умножения следует заключать в кавычки (одинарные или двойные), например: '*', так как символ * имеет в Shell специальный смысл. Аналогично в кавычки заключаются скобки, знаки сравнений.

Еще пример использования expr (фрагмент):

count=`wc -l < $1`

tot=100

count =`expr $tot / $count`

echo   $count

tot=`expr $tot + 1`

echo   $tot

Здесь wc -l (эль) осуществляет подсчет числа строк в файле, а далее это число используется в выражениях.

Задания:

  1. Создать командный файл, который обеспечивает распечатку содержимого подкаталогов данного каталога, а также справку о количестве файлов различных типови занимаемом ими пространстве.
  2. Создать командный файл, который обеспечивает вывод на экран информации о наличии одноименных файлов в разных подкаталогах данного каталога.
  3. Создать командный файл, выдающий на экран путь к самому длинному из всех файлов, принадлежащих студентам группы.
  4. Создать командный файл, обеспечивающий обнаружение файлов в указанном каталоге, имеющих размер больше заданного,вывод на экран информации о владельцах этих файлов.
  5. Создать меню пользователя:
    1. создать текстовый файл;
    2. склеить текстовые файлы;
    3. найти файл, содержащий указанную строку.

Вся информация, необходимая для выполнения этих операций, запрашивается у пользователя.