Programowanie BASH

Jak pisać do pliku w Bash

Jak pisać do pliku w Bash
Jednym z podstawowych zadań, które wykonujemy podczas pracy ze skryptami bash, jest odczytywanie i zapisywanie plików. W tym przewodniku skupimy się na tym, jak czytać pliki w bash i jak je edytować.

Istnieje wiele sposobów odczytywania i zapisywania pliku w bash. Najprostszym sposobem jest użycie operatorów „>” i „>>”.

Ogólny format używania operatorów przekierowania to:

Dane > Nazwa pliku
Dane >> Nazwa pliku

Rozumiemy procedurę zapisu do pliku na przykładzie:

Jak napisać plik za pomocą operatorów przekierowania

Jak omówiono powyżej, prostym i bezpośrednim podejściem do zapisu do pliku jest użycie operatorów przekierowania. Na przykład, jeśli chcesz zmienić tekst już istniejącego pliku, najpierw utwórz plik tekstowy o nazwie „plik testowy.tekst” i napisz w nim cokolwiek:

Zapisz plik tekstowy.

Wpisz w terminalu poniższe polecenie:

$ echo “Nadpisywanie istniejącego tekstu w pliku” > plik testowy.tekst

Nadmierne wykręcanie może być ryzykowne; dlatego dobrą praktyką jest włączenie funkcji „noclobber”. Ustawienie „noclobber” zablokowałoby wszelkie nadpisywanie do dowolnego wychodzącego pliku.

$ set -o noclobber
$ echo “Nadpisywanie istniejącego tekstu w pliku” > plik testowy.tekst

Ale jeśli chcesz ominąć „noclobber”, użyj „>|” operator zamiast “>”:

$ echo “Nadpisywanie istniejącego tekstu w pliku” >| plik testowy.tekst

Możesz też po prostu wyłączyć „noclobber”:

$ set + o noclobber

Ale to polecenie odbierze ochronę wszystkim plikom.

Powyższe dane wyjściowe wskazują, że istniejący tekst został nadpisany. Teraz użyjmy „>>” operator:

$ echo “Dołączanie tekstu do istniejącego pliku tekstowego” >> testfile.tekst

Echo” nie zawsze jest idealny do użycia, ponieważ nie można go sformatować, dlatego użyj „printf” zamiast „echa”, aby sformatować tekst, jak pokazano w następującym poleceniu:

$ printf “Witamy \n To jest nowy plik tekstowy.” > nowy plik testowy.tekst

Zrozummy tę koncepcję na przykładzie skryptu bash. Otwórz Vima, wpisując „vim” w terminalu. Jeśli nie masz edytora Vima na swoim urządzeniu, zainstaluj go za pomocą:

$ sudo apt zainstaluj vim

Wpisz skrypt:

#! /bin/bash
echo „Wpisz swoje imię”
przeczytaj imię
echo $nazwa > katalog_danych.tekst
echo „Wpisz swój wiek”
przeczytaj wiek
echo $wiek >> katalog_danych.tekst
cat data_dir.tekst

kot”polecenie służy do tworzenia i edycji plików. Zapisz powyższy skrypt w Vimie, przełączając tryb po naciśnięciu „wyjście”, a następnie wpisz „:w mój skrypt.cii”. Otwórz terminal i uruchom kod:

Jak napisać plik za pomocą Heredoc

Jeśli chcesz napisać wiele wierszy, najłatwiejszą metodą jest użycie „Heredoc”. Tutaj dokument, znany również jako „Heredoc”, jest wielozadaniowym blokiem kodu. Składnia Heredoc to:

Komenda <<[-] Delimiter
.
tekst/polecenia
.

Ogranicznik

Zamiast „ogranicznika” można użyć dowolnego ciągu, a „-” można również użyć do usunięcia wszelkich spacji tabulacji w pliku. Zrozummy to na prostym przykładzie:

#! /bin/bash
kot << TEXTFILE
To jest plik tekstowy.
Ten plik jest tworzony przy użyciu heredoc.
PLIK TEKSTOWY

Powyższe polecenie skryptu „cat” tworzy plik tekstowy o nazwie „TEXTFILE” i zapisuje tekst do właśnie utworzonego pliku. Teraz zapisz plik pod nazwą „mój skrypt.cii”. Uruchom terminal i uruchom skrypt.

Jak napisać plik za pomocą polecenia Tee

Inną metodą zapisania pliku jest użycie polecenia „Tee”. Jako nazwa wskazująca, że ​​to polecenie pobiera dane wejściowe i zapisuje do pliku oraz jednocześnie pokazuje dane wyjściowe. Domyślnie polecenie „Tee” nadpisze istniejące dane.

$ echo “To jest jakiś tekst” | plik tekstowy koszulki.tekst

Aby dołączyć użyj -a:

$ echo “To jest inny tekst” | tee -plik tekstowy.tekst

Aby napisać wiele wierszy, użyj:

$ echo “Dodawanie tekstu do wielu plików” | plik tekstowy koszulki1.txt plik tekstowy2.txt plik tekstowy3.tekst

Powyższe polecenie utworzy trzy pliki, jeśli nie istnieją i zapisze tekst do każdego z nich.

Wniosek

Ten przewodnik skupia się na wielu podejściach do pisania do pliku w bash z przykładami. W skryptach bash istnieje wiele sposobów na zapisanie pliku, ale najprostszym z nich jest użycie operatorów przekierowania „>”, „>>”. Aby napisać wiele wierszy, można użyć „heredoc”, a jeśli chcesz zapisać te same dane w wielu wierszach, bardzo przydatne jest polecenie „tee”.

Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...
Gry Open Source Ports of Commercial Game Engines
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Gry Najlepsze gry wiersza poleceń dla systemu Linux
Najlepsze gry wiersza poleceń dla systemu Linux
Wiersz poleceń jest nie tylko twoim największym sprzymierzeńcem podczas korzystania z Linuksa - może być również źródłem rozrywki, ponieważ możesz go ...