1. Learn
  2. /
  3. Курси
  4. /
  5. Вступ до Shell

Connected

вправа

Як передавати імена файлів у скрипти?

Скрипт, який обробляє конкретні файли, корисний як запис того, що ви зробили, але ще корисніший — той, що дає змогу обробляти будь‑які потрібні файли. Щоб це підтримати, можна використати спеціальний вираз $@ (знак долара одразу за яким стоїть «@»), який означає «усі параметри командного рядка, передані скрипту».

Наприклад, якщо у unique-lines.sh є sort $@ | uniq, і ви запускаєте:

bash unique-lines.sh seasonal/summer.csv

оболонка замінює $@ на seasonal/summer.csv і обробляє один файл. Якщо ви запустите:

bash unique-lines.sh seasonal/summer.csv seasonal/autumn.csv

буде оброблено два файли даних і так далі.

На згадку: щоб зберегти написане в Nano, натисніть Ctrl + O, щоб записати файл, потім Enter, щоб підтвердити назву файлу, і Ctrl + X, щоб вийти з редактора.

Інструкції 1/2

undefined XP
  • 1

    Відредагуйте скрипт count-records.sh у Nano і заповніть два заповнювачі ____ відповідно \$@ та -l (літера), щоб він рахував кількість рядків в одному або кількох файлах, виключаючи перший рядок у кожному.

  • 2

    Запустіть count-records.sh на seasonal/*.csv і перенаправте вивід до num-records.out за допомогою >.