Bash Para sa bawat linya sa isang file

Bash Each Line File



Ang Para sa loop sa Bash ay maaaring magamit sa iba't ibang mga pagkakaiba-iba para sa pagsasagawa ng maraming gawain. Ang isang tulad ng pagkakaiba-iba ay ang Para sa bawat linya sa file na responsable para sa pagbabasa ng lahat ng mga linya sa isang file. Sa artikulong ito, pag-uusapan natin ang tungkol sa mga pamamaraan ng paggamit para sa bawat linya sa file sa Bash.

Tandaan: Ang mga pamamaraan na ipinakita sa ibaba ay ipinakita sa Ubuntu 20.04. Gayunpaman, gagana rin ang mga ito sa anumang iba pang pamamahagi ng Linux.







Mga pamamaraan ng paggamit para sa bawat linya sa file sa Bash:

Sa mga pamamaraang ito, magpapakita kami ng isang halimbawa kung saan maaari mong mabasa ang bawat linya mula sa isang file, at pagkatapos ay maaari mo itong ipakita sa terminal o maaari mo ring iimbak ang mga linyang ito sa ibang file. Tingnan natin ang pareho sa mga pamamaraang ito.



Paraan # 1: Para sa Pagpapakita ng Mga Basahing Linya sa Terminal:

Para sa pagpapakita ng mga linya ng isang file sa terminal sa pamamagitan ng paggamit para sa bawat linya sa file, kailangan mong gawin ang mga sumusunod na hakbang:



Hakbang # 1: Lumilikha ng isang Dummy Text File:

Una sa lahat, kailangan mong lumikha ng isang text file na may ilang mga random na data alang-alang sa pagpapakita. Bagaman, ang file ng teksto na ito ay maaaring malikha kahit saan, subalit, lubos na inirerekumenda na likhain mo ito sa folder ng Home. Para sa paggawa nito, mag-click sa icon ng File Manager na naka-highlight sa imaheng ipinakita sa ibaba:





  • Lumilikha ng isang Dummy Text File

    Mag-right click ngayon kahit saan sa iyong folder sa Home at piliin ang pagpipiliang Bagong Dokumento mula sa lilitaw na menu. Pagkatapos piliin ang pagpipiliang Empty Document. Kapag ang isang walang laman na dokumento ay nalikha sa iyong Home folder, ibigay ang pangalan ng iyong pinili para dito na susundan ng .txt extension. Sa halimbawang ito, pinangalanan namin ito bilang ForEachLine.txt.

  • Lumilikha ng isang Dummy Text File2
    Mag-double click sa text file na ito upang buksan ito at pagkatapos ay i-type ang anumang random na teksto dito tulad ng ipinakita sa sumusunod na imahe. Pagkatapos gawin ito, i-save ang file na ito at isara ito.



  • Lumilikha ng isang Dummy Text File3

    Hakbang # 2: Paglikha ng Bash Script:

    Lumikha ngayon ng isang Bash file sa parehong paraan tulad ng iyong paglikha ng text file sa folder ng Home maliban sa oras na ito, kailangan mong ibigay ang pangalan nito na susundan ng .sh extension sa halip na .txt extension. Pinangalanan namin ang aming Bash file bilang ForEachLine.sh ngunit maaari mo itong bigyan ng anumang pangalan na iyong pinili.
    Paglikha ng Bash Script

    Buksan ang file na ito sa pamamagitan ng pag-double click dito at pagkatapos ay i-type ang script na ipinapakita sa imahe sa ibaba sa iyong bagong nilikha na Bash file. Dito, ang unang linya ay naroroon upang ipahiwatig na ang sumusunod na script ay isang script na Bash. Nilikha lang namin ang isang variable na nagngangalang File at inatasan ito ng pangalan ng aming text file bilang halaga nito hal. ForEachLine.txt. Pagkatapos ay lumikha kami ng isang variable na pinangalanang Mga Linya at pinapantay ito sa $ (cat $ File). Dito, binabasa ng utos ng pusa ang mga nilalaman ng aming file ng teksto at kapag naunahan ito ng isang simbolo na $, pagkatapos ang mga nilalaman na nabasa ng utos na ito ay maiimbak sa variable ng Mga Linya. Sa ganitong paraan, ang lahat ng mga linya ng file na pinangalanang ForEachLine.txt ay maiimbak sa variable ng Mga Linya. Pagkatapos ay inilapat namin ang Para sa loop na mayroong isang Iterator Line. Gumagana ang iterator na ito sa variable ng Mga Linya na nilikha namin sa itaas at ito ay uulit sa lahat ng mga linya nang paisa-isa. Pagkatapos sa tapos na block, ipinakita lamang namin ang lahat ng mga linyang ito sa terminal sa pamamagitan ng paggamit ng utos ng echo.
    Paglikha ng Bash Script2

    Hakbang # 3: Pagpapatakbo ng Bash Script:

    Ngayon ilunsad ang terminal sa Ubuntu 20.04 at pagkatapos ay patakbuhin ang sumusunod na utos dito upang maipatupad ang Bash script na nilikha sa itaas:
    bash ForEachLine.sh
    Pagpapatakbo ng Bash Script

    Kapag ang utos na ito ay gagawin ang bash script upang maipatupad, pagkatapos ay makikita mo ang lahat ng mga linya ng iyong text file sa iyong terminal tulad ng ipinapakita sa sumusunod na imahe:
    Pagpapatakbo ng Bash Script

    Paraan # 2: Para sa Pag-save ng lahat ng mga Basahin ang mga Linya sa isa pang File:

    Sa pamamaraang ito, binago namin nang bahagya ang script ng Bash na nilikha sa pamamaraan sa itaas para sa pag-save ng lahat ng mga nabasa na linya sa isang bagong file ng teksto kaysa ipakita ang mga ito sa terminal. Para sa paggawa nito, gawin ang mga hakbang na nabanggit sa ibaba:

    Hakbang # 1: Pagbabago ng Bash Script na Nilikha Sa Itaas at Pagpapatakbo nito:

    Buksan ang Bash script na iyong nilikha sa pamamaraan sa itaas at baguhin ito tulad ng ipinakita sa sumusunod na imahe. Idinagdag lamang namin ang >> simbolo na sinundan ng isang bagong pangalan ng file pagkatapos ng utos ng echo sa loob ng do-tapos na bloke. Ang pagbabago na ito ay mai-save ang lahat ng mga nabasa na linya sa isang bagong text file sa halip na ipakita ang mga ito sa terminal. Patakbuhin muli ang script ng Bash sa pamamagitan ng terminal na may bash command na sinusundan ng pangalan ng file na Bash. Sa oras na ito kung tatakbo ang Bash script, lilikha ito ng isang bagong file ng teksto na ang pangalan sa kasong ito ay NewFile.txt.
    Pagbabago ng Bash Script na Nilikha Sa Itaas at Pagpapatakbo nito1

    Hakbang # 2: Pag-access sa Bagong Nailikhang Text File:

    Upang mapatunayan kung ang lahat ng mga nabasa na linya ay nai-save sa bagong text file, maaari mo lamang makita ang mga nilalaman ng file na iyon sa pamamagitan ng pagpapatakbo ng sumusunod na utos sa iyong terminal:
    pusa NewFile.txt
    Pag-access sa Bagong Nailikhang Text File
    Ang output na ipinakita sa imahe sa ibaba ay magtitiyak sa iyo na ang lahat ng mga nabasa na linya ay nakopya sa bagong file ng teksto.
    Pag-access sa Bagong Nailikhang Text File2

    Konklusyon:

    Sa ganitong paraan, maaari mong magamit ang bawat linya sa file upang mabasa ang lahat ng mga linya ng isang file at pagkatapos ay pagmamanipula nito sa mga linyang ito. Napag-usapan lamang namin ang tungkol sa dalawang pangunahing mga sitwasyon sa artikulong ito, gayunpaman, maaari mo ring gamitin ang loop na ito para sa mas kumplikadong mga problema.