Басх За сваки ред у датотеци

Bash Each Line File



Фор петља у Басх -у се може користити са различитим варијацијама за извођење више задатака. Једна од таквих варијација је За сваки ред у датотеци који је одговоран за читање свих редова у датотеци. У овом чланку ћемо говорити о методама коришћења за сваки ред у датотеци у Басху.

Напомена: Доле приказане методе су демонстриране на Убунту 20.04. Међутим, они ће такође добро радити са било којом другом Линук дистрибуцијом.







Методе коришћења за сваки ред у датотеци у Басху:

У овим методама показат ћемо вам примјер у којем можете прочитати сваки редак из датотеке, а затим га можете приказати на терминалу или чак можете спремити ове ретке у другу датотеку. Хајде да погледамо обе ове методе.



Метод # 1: За приказ линија за читање на терминалу:

Да бисте приказали редове датотеке на терминалу користећи за сваку линију у датотеци, мораћете да изведете следеће кораке:



Корак # 1: Креирање лажне текстуалне датотеке:

Пре свега, морате направити текстуалну датотеку са неким насумичним подацима ради демонстрације. Иако се ова текстуална датотека може створити било гдје, ипак се препоручује да је креирате у директорију Хоме. Да бисте то учинили, кликните на икону Управљач датотекама истакнуту на доњој слици:





  • Креирање лажне текстуалне датотеке

    Сада кликните десним тастером миша било где у матичној фасцикли и изаберите опцију Нови документ из менија који се појави. Затим изаберите опцију Испразни документ. Након што је празан документ креиран у вашој матичној фасцикли, наведите име по вашем избору, а затим и .ткт екстензију. У овом примеру смо га назвали ФорЕацхЛине.ткт.

  • Креирање лажне текстуалне датотеке2
    Двапут кликните на ову текстуалну датотеку да бисте је отворили, а затим откуцајте било који насумични текст у њу као што је приказано на следећој слици. Након што то учините, сачувајте ову датотеку и затворите је.



  • Креирање лажне текстуалне датотеке3

    Корак 2: Креирање Басх скрипте:

    Сада креирајте Басх датотеку на исти начин на који сте креирали текстуалну датотеку у фасцикли Хоме, осим што овај пут морате навести њено име, а затим .сх екстензију уместо .ткт екстензије. Нашу Басх датотеку смо назвали ФорЕацхЛине.сх, али можете јој дати било које име по вашем избору.
    Креирање Басх скрипте

    Отворите ову датотеку двоструким кликом на њу, а затим откуцајте скрипту приказану на доњој слици у новоствореној Басх датотеци. Овде је први ред који означава да је следећа скрипта Басх скрипта. Једноставно смо креирали променљиву Филе и доделили јој име наше текстуалне датотеке као њену вредност, тј. ФорЕацхЛине.ткт. Затим смо креирали променљиву Линес и изједначили је са $ (цат $ Филе). Овде наредба цат чита садржај наше текстуалне датотеке и када јој претходи симбол $, тада ће садржај који чита ова команда бити ускладиштен у променљивој Линес. На овај начин ће све линије датотеке под именом ФорЕацхЛине.ткт бити ускладиштене у променљивој Линес. Затим смо применили петљу Фор која има итераторску линију. Овај итератор ради на променљивој Линес коју смо створили горе и проћи ће кроз све редове једну по једну. Затим смо у до-доне блоку једноставно приказали све ове линије на терминалу помоћу наредбе ецхо.
    Креирање Басх скрипте2

    Корак # 3: Покретање Басх скрипте:

    Сада покрените терминал у Убунту 20.04, а затим покрените следећу команду у њему да бисте извршили Басх скрипту направљену изнад:
    басх ФорЕацхЛине.сх
    Покретање Басх скрипте

    Када ова команда учини да се басх скрипта изврши, тада ћете моћи да видите све редове ваше текстуалне датотеке на свом терминалу као што је приказано на следећој слици:
    Покретање Басх скрипте

    Метод # 2: За чување свих линија за читање у другој датотеци:

    У овој методи смо мало изменили Басх скрипту направљену у горенаведеној методи за чување свих прочитаних редова у новој текстуалној датотеци уместо приказивања на терминалу. Да бисте то урадили, извршите доле наведене кораке:

    Корак # 1: Измена горе креираног Басх скрипта и његово покретање:

    Отворите Басх скрипту коју сте креирали у горњој методи и измените је као што је приказано на следећој слици. Једноставно смо додали симбол >> иза кога следи ново име датотеке након наредбе ецхо у оквиру до-доне блока. Ова измена ће сачувати све прочитане редове у нову текстуалну датотеку уместо да их прикаже на терминалу. Сада поново покрените Басх скрипту преко терминала са басх командом иза које следи назив Басх датотеке. Овај пут када ће се Басх скрипта покренути, креираће нову текстуалну датотеку чије име у овом случају има НевФиле.ткт.
    Модификовање изнад креираног Басх скрипта и његово покретање1

    Корак 2: Приступ новоствореној текстуалној датотеци:

    Да бисте проверили да ли су сви прочитани редови сачувани у новој текстуалној датотеци, можете једноставно прегледати садржај те датотеке покретањем следеће наредбе на свом терминалу:
    мачка НевФиле.ткт
    Приступ новоствореној текстуалној датотеци
    Излаз приказан на доњој слици ће вас увјерити да су сви прочитани редови копирани у нову текстуалну датотеку.
    Приступање новоствореној текстуалној датотеци2

    Закључак:

    На овај начин можете искористити сваки ред у датотеци за читање свих редова датотеке и затим руковање тим редовима. Управо смо говорили о два основна сценарија у овом чланку, међутим, чак можете користити ову петљу за сложеније проблеме.