Paano idugtong ang isang linya sa isang file sa bash

How Append Line File Bash



Minsan kailangan naming gumana kasama ang isang file para sa mga layunin sa pagprograma, at ang bagong linya ay kinakailangan upang idagdag sa dulo ng file. Ang pagdaragdag na gawain na ito ay maaaring gawin sa pamamagitan ng paggamit ng ‘ itinapon ‘At‘ katangan ‘Utos. Gamit ‘ >> ’ kasama si ‘ itinapon ' ang utos ay nagdagdag ng isang linya sa isang file. Ang isa pang paraan ay ang paggamit ng 'echo,' pipe (|), at 'tee' na mga utos upang magdagdag ng nilalaman sa isang file. Kung paano magagamit ang mga utos na ito sa bash script ay ipinapakita sa artikulong ito.

Lumikha ng isang text file na pinangalanan mga libro.txt kasama ang sumusunod na nilalaman upang gawin ang mga halimbawang ipinakita sa susunod na bahagi ng artikulong ito.







books.txt:



Pag-aaral ng PHP at MySQL
Pag-aaral ng Laravel
Web Design gamit ang HTML

Halimbawa-1: Idagdag ang linya sa file gamit ang 'echo' command at '>>' na simbolo

Sa sumusunod na script, isang mayroon nang file, mga libro.txt ay nakatalaga sa variable, filename, at isang halaga ng string ay kukuha bilang input mula sa gumagamit upang idagdag sa dulo ng file. Kung ang halaga ng pag-input ay hindi walang laman, kung gayon ang ‘ itinapon ' utos ay idagdag ang halaga sa mga libro.txt file sa pamamagitan ng paggamit ng ‘ >> ’Simbolo.



#! / baseng / bash

# Tukuyin ang filename
filename='books.txt'

# I-type ang teksto na nais mong idagdag
basahin -p 'Ipasok ang teksto na nais mong idagdag:'newtext

# Suriin ang bagong teksto ay walang laman o hindi
kung [ '$ newtext' !=' ];tapos
# Idagdag ang teksto sa pamamagitan ng paggamit ng simbolong '>>'
itinapon $ newtext >> $ filename
maging

Output:





' Pag-aaral ng JQuery 'Ay kinuha bilang isang bagong halaga ng teksto sa output na naidugtong sa dulo ng file.



Halimbawa-2: Idagdag ang linya sa file gamit ang command na 'printf' at simbolong '>>'

' >> 'Simbolo ay maaaring magamit sa' printf ’ utos na idagdag ang naka-format na nilalaman sa isang file. Tulad ng nakaraang halimbawa, ang filename at ang mga halaga ng string ay nakatalaga sa mga variable, filename , at newtext . Susunod, ‘ printf ’Utos ay ire-redirect ang halaga ng newtext kasama ang iba pang teksto sa dulo ng mga libro.txt file

#! / baseng / bash

# Tukuyin ang filename
filename='books.txt'

# I-type ang teksto na nais mong idagdag
basahin -p 'Ipasok ang teksto na nais mong idagdag:'newtext

# Suriin ang bagong teksto ay walang laman o hindi
kung [ '$ newtext' !=' ];tapos
# Idagdag ang teksto sa pamamagitan ng paggamit ng simbolong '>>'
printf Ang naidugtong na teksto ay:% s n' '$ newtext' >> $ filename
maging

Output:

' Website ng WordPress 'Ay kinuha bilang isang bagong halaga ng teksto sa output na naidugtong sa dulo ng file.

Halimbawa-3: Idagdag ang linya sa file gamit ang `tee` na utos

' tee ’ ay isa pang kapaki-pakinabang na utos upang idagdag ang anumang string sa isang file. Sa sumusunod na script, ang filename at ang mga bagong halaga ng teksto ay itinalaga tulad ng mga nakaraang halimbawa. Kung ang halaga ng teksto ay hindi walang laman, kung gayon ang ‘ itinapon 'Utos ay magpapadala ng halaga sa' katangan 'Utos gamit ang' | ’Simbolo. ‘ -sa 'Pagpipilian ay ginagamit sa' katangan ’Utos dito upang idagdag ang natanggap na halaga ng pag-input sa file mga libro.txt . ‘/ Dev / null’ ay ginagamit sa script upang maiwasan ang pagpapakita ng output sa terminal.

#! / baseng / bash

# Tukuyin ang filename
filename='books.txt'

# I-type ang teksto na nais mong idagdag
basahin -p 'Ipasok ang teksto na nais mong idagdag:'newtext

# Suriin ang bagong teksto ay walang laman o hindi
kung [ $ newtext !=' ];tapos
# Idagdag ang teksto sa pamamagitan ng paggamit ng `tee` utos
itinapon $ newtext | katangan -sa $ filename > /dev/wala
maging

Output:

' Pag-aaral ng CSS3 'Ay kinuha bilang isang bagong halaga ng teksto sa output na naidugtong sa dulo ng file.

Konklusyon:

Tatlong magkakaibang paraan ang ipinapakita sa artikulong ito upang idagdag ang teksto sa dulo ng isang file gamit ang isang bash script.