Команда for в linux mint

for цикл в Bash

Циклы — одна из фундаментальных концепций языков программирования. Циклы удобны, когда вы хотите запускать серию команд снова и снова, пока не будет достигнуто определенное условие.

В языках сценариев, таких как Bash, циклы полезны для автоматизации повторяющихся задач. В Bash доступны три основные конструкции цикла: for , while и until циклы.

В этом руководстве мы рассмотрим основы циклов for в Bash. Мы также покажем вам, как использовать операторы break и continue чтобы изменить ход цикла.

Стандартный for цикл в Bash

Цикл for выполняет итерацию по списку элементов и выполняет заданный набор команд.

Цикл for Bash имеет следующую форму:

for item in [LIST] do [COMMANDS] done 

Список может быть серией строк, разделенных пробелами, диапазоном чисел, выводом команды, массивом и т. Д.

Оберните струны

В приведенном ниже примере цикл будет перебирать каждый элемент в списке строк, и переменный element будет установлен на текущий элемент:

for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done 

Цикл выдаст следующий результат:

Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium 

Цикл по диапазону чисел

Вы можете использовать выражение последовательности, чтобы указать диапазон чисел или символов, задав начальную и конечную точки диапазона. Выражение последовательности принимает следующую форму:

Вот пример цикла, который перебирает все числа от 0 до 3:

for i in 0..3> do echo "Number: $i" done 
Number: 0 Number: 1 Number: 2 Number: 3 

Начиная с Bash 4, также можно указывать приращение при использовании диапазонов. Выражение принимает следующий вид:

Вот пример, показывающий, как увеличить на 5:

for i in 0..20..5> do echo "Number: $i" done 
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20 

Перебирать элементы массива

Вы также можете использовать цикл for для перебора массива элементов.

В приведенном ниже примере мы определяем массив с именем BOOKS и перебираем каждый элемент массива.

BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "$BOOKS[@]>"; do echo "Book: $book" done 
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby 

Цикл for в Bash в стиле C

Синтаксис цикла for стиле C имеет следующий вид:

for ((INITIALIZATION; TEST; STEP)) do [COMMANDS] done 

Часть INITIALIZATION выполняется только один раз при запуске цикла. Затем оценивается TEST . Если это ложь, цикл прекращается. Если TEST истинен, команды внутри цикла for выполняются, а часть STEP обновляется.

В следующем примере кода цикл начинается с инициализации i = 0 и перед каждой итерацией проверяется, является ли i ≤ 10 . Если true, он печатает текущее значение i и [увеличивает переменную] i на 1 ( i++ ), в противном случае цикл завершается.

for ((i = 0 ; i = 1000 ; i++)); do echo "Counter: $i" done 

Цикл повторится 1001 раз и выдаст следующий результат:

Counter: 0 Counter: 1 Counter: 2 . Counter: 998 Counter: 999 Counter: 1000 

Операторы break и continue

Операторы break и continue могут использоваться для управления выполнением цикла for.

Оператор break

Оператор break завершает текущий цикл и передает управление программой оператору, следующему за завершенным оператором. Обычно он используется для завершения цикла при выполнении определенного условия.

В следующем примере мы используем оператор if для прекращения выполнения цикла, когда текущий повторяемый элемент становится равным «Lithium».

for element in Hydrogen Helium Lithium Beryllium; do if [[ "$element" == 'Lithium' ]]; then break fi echo "Element: $element" done echo 'All Done!' 
Element: Hydrogen Element: Helium All Done! 

Оператор continue

Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла.

В следующем примере мы перебираем диапазон чисел. Когда текущий повторяемый элемент равен ‘2’, оператор continue заставит выполнение вернуться к началу цикла и продолжить следующую итерацию:

for i in 1..5>; do if [[ "$i" == '2' ]]; then continue fi echo "Number: $i" done 
Number: 1 Number: 3 Number: 4 Number: 5 

Примеров циклов for в Bash

Переименование файлов с пробелами в имени файла

В следующем примере показано, как переименовать все файлы в текущем каталоге с пробелом в его именах, заменив пробел на подчеркивание:

for file in * *; do mv "$file" "$file// /_>" done 

Давайте разберем код построчно:

  • Первая строка создает цикл for и выполняет итерацию по списку всех файлов с пробелом в имени. Выражение * * создает список.
  • Вторая строка применяется к каждому элементу списка и перемещает файл в новый, заменяя пробел знаком подчеркивания ( _ ). Часть $ использует расширение параметра оболочки для замены шаблона в параметре строкой.
  • done указывает конец сегмента цикла.

Изменение расширения файла

В следующем примере показано, как использовать цикл for в Bash for переименования всех файлов, оканчивающихся на .jpeg, в текущем каталоге путем замены расширения файла с .jpeg на .jpg.

for file in *.jpeg; do mv -- "$file" "$file%.jpeg>.jpg" done 

Давайте проанализируем код построчно:

  • Первая строка создает цикл for и выполняет итерацию по списку всех файлов, заканчивающихся на ‘.jpeg’.
  • Вторая строка применяется к каждому элементу списка и перемещает файл в новый, заменяя «.jpeg» на «.jpg». $ чтобы удалить часть ‘.jpeg’ из имени файла, используя расширение параметра оболочки
  • done указывает конец сегмента цикла.

Выводы

Цикл for Bash используется для повторного выполнения заданного набора команд определенное количество раз.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Освоение команды for в Linux с практическими примерами

ЧАС привет, читатели FOSSLinux! Надеюсь, у вас у всех замечательный день. Недавно я размышлял о некоторых из моих любимых команд во вселенной Linux. Если вы спросите меня, какие мои 5 любимых команд, цикл for определенно будет одной из них. Но вот признание, это тоже одна из тех команд, которые раньше меня ужасали. Я имею в виду, скажем прямо, это не самая интуитивная команда, не так ли? Сегодня мы вместе одолеем этого зверя.

Команда For — рабочая лошадка Linux

Прежде чем мы перейдем к мельчайшим деталям, давайте напомним себе, что такое команда for. Если вы когда-либо работали с каким-либо языком программирования, скорее всего, вы встречали цикл for. Эта команда — это способ Linux позволить нам выполнять серию команд заданное количество раз. Думайте об этом как о прилежном маленьком работнике, неустанно выполняющем задачи для вас, одну итерацию за раз.

Базовый синтаксис команды For

Для начала давайте посмотрим на основной синтаксис команды for в Linux:

для ПЕРЕМЕННОЙ в ПАРАМЕТР_1 ПАРАМЕТР_2 … ПАРАМЕТР_N. делать. КОМАНДА1. КОМАНДА2. КОМАНДА_N. сделанный

В этой команде VARIABLE — это имя переменной, которая меняет свое значение на каждой итерации. Значения PARAMETER — это список значений, которые может принимать VARIABLE. КОМАНДА — это набор команд, которые выполняются для каждого параметра.

Наша первая команда «За» — давай смелее!

Я до сих пор помню, как впервые использовал команду for. Я немного опасался (ладно, сильно опасался), но давайте попробуем это вместе:

для я в 1 2 3 4 5. делать. echo "Здравствуйте, FOSSLinux, номер итерации $i" сделанный

В этой простой команде for у нас есть переменная i, которая принимает значения 1, 2, 3, 4, 5 на каждой итерации. Команда echo выводит предложение с номером итерации. В результате получится пять строк приветствия FOSSLinux с разными номерами итераций в каждой строке.

Команда For с диапазоном

Должен признаться, я не был большим любителем вручную вводить все числа для итерации. Это было похоже на пустую трату времени. Затем я обнаружил вариант диапазона! Давайте попробуем это:

для я в делать. echo "Здравствуйте, FOSSLinux, номер итерации $i" сделанный

Он делает то же самое, что и предыдущий пример, но на этот раз мы использовали диапазон вместо ручного ввода чисел. Разве это не намного чище?

Команда For со значением шага

Мне нравится команда for, но иногда мне нужно пропустить некоторые итерации. Вот где значение шага входит. Давайте посмотрим на это в действии:

для я в делать. echo "Здравствуйте, FOSSLinux, номер итерации $i" сделанный

Здесь мы печатаем каждое четное число от 0 до 10. ..2 — это значение нашего шага. Это сделало мою жизнь намного проще и менее загроможденной!

  • Команда Bash tr объясняется с примерами
  • Подкачка в Linux: все, что вам нужно знать
  • 15 Использование команды Tar в Linux с примерами

Команда For с файлами и каталогами

Не буду врать, я люблю играть с файлами и каталогами, используя команду for. Это дает мне ощущение силы! Вот пример:

для файла в /home/user/Documents/* делать. эхо $ файл. сделанный

Эта команда выводит список всех файлов в указанном каталоге. Подстановочный знак «*» соответствует всем файлам и каталогам.

Команда For в пакетном режиме

Я не могу завершить этот пост, не упомянув о пакетном режиме. Пакетный режим позволяет нам запускать циклы for в фоновом режиме или планировать их выполнение на потом. Вот как это сделать:

echo 'для i в ; do echo "Привет, FOSSLinux, номер итерации $i"; сделано' | сейчас + 1 минута

Эта команда запустит наш цикл for через одну минуту. Вы можете подумать: «Ну, это странно! Зачем мне запускать цикл в будущем?» Представьте, что у вас есть ресурсоемкая задача. Вы можете запланировать его работу на ночь, используя эту функцию.

Практический пример использования команды For

Предположим, у вас есть каталог, заполненный текстовыми файлами, и вам нужно переименовать их все, чтобы они имели расширение «.bak». Делать это вручную было бы довольно хлопотно, если у вас много файлов. Но с помощью цикла for вы можете выполнить эту задачу одной командой. Вот как:

для файла в /home/user/documents/*.txt. делать. mv "$file" "$.bak" сделанный

В этой команде мы просматриваем каждый файл «.txt» в каталоге /home/user/documents/. Команда mv используется для переименования файла. Мы используем $.bak, чтобы изменить расширение файла с «.txt» на «.bak».

$ — это форма расширения параметра, которая удаляет кратчайшее совпадение .txt с конца переменной $file.

# Перед запуском скрипта. /home/user/documents/file1.txt. /home/user/documents/file2.txt. /home/user/documents/file3.txt # После запуска скрипта. /home/user/documents/file1.bak. /home/user/documents/file2.bak. /home/user/documents/file3.bak

И вуаля! Все ваши текстовые файлы теперь являются файлами резервных копий. Видите ли, команда «for» — это не просто универсальный инструмент, она экономит время, и именно такие небольшие задачи делают ее одной из моих любимых команд в Linux. Надеюсь, вы найдете его таким же полезным, как и я!

Заключительные мысли

Если вы спросите меня, что мне нравится в команде for, так это ее универсальность. Независимо от того, имеете ли вы дело с числами или файлами, команда «for» поможет вам. Пакетный режим? Просто гениально.

  • Команда Bash tr объясняется с примерами
  • Подкачка в Linux: все, что вам нужно знать
  • 15 Использование команды Tar в Linux с примерами

Однако идеальных отношений не бывает. Команда for может показаться новичкам немного пугающей, а ее синтаксис не самый интуитивный. Но, как и с большинством вещей в жизни, чем больше вы этим пользуетесь, тем больше вы это понимаете.

Помните, все дело в практике. Попробуйте эти примеры, настройте их, сломайте и исправьте снова. В этом прелесть обучения. Всем удачного кодирования!

РАСШИРЬТЕ ВАШ ОПЫТ РАБОТЫ С LINUX.

СОПО Linux является ведущим ресурсом как для энтузиастов, так и для профессионалов Linux. Сосредоточив внимание на предоставлении лучших руководств по Linux, приложений с открытым исходным кодом, новостей и обзоров, FOSS Linux является основным источником для всего, что связано с Linux. Независимо от того, новичок вы или опытный пользователь, в FOSS Linux каждый найдет что-то для себя.

Как использовать отдельный запрос подсчета в MongoDB

Как использовать отдельный запрос подсчета в MongoDB

@2023 — Все права защищены.1,3 КДВоспроизведение определенного количества документов в определенной коллекции является одним из поисковых запросов. Используйте запрос подсчета отдельных документов, если у вас есть сотни документов в коллекции и вы.

Повышение скорости обслуживания: руководство для начинающих по Nginx в Ubuntu

Повышение скорости обслуживания: руководство для начинающих по Nginx в Ubuntu

@2023 — Все права защищены.711Нginx (произносится как «engine-x») — популярное программное обеспечение для веб-серверов, известное своей высокой производительностью и надежностью. Это программное обеспечение с открытым исходным кодом, используемое.

Как составить список баз данных в MongoDB

Как составить список баз данных в MongoDB

@2023 — Все права защищены.775МongoDB — это база данных NoSQL, которая может хранить множество форм данных, включая неструктурированные данные. Данные в MongoDB хранятся в виде коллекций и документов, а не отношений. Это позволяет ему хранить любу.

Источник

Читайте также:  Astra linux архиватор tar
Оцените статью
Adblock
detector