Android

Bash: dołącz do pliku

Shell Scripting Crash Course - Beginner Level

Shell Scripting Crash Course - Beginner Level

Spisu treści:

Anonim

W Bash istnieje wiele sposobów dołączania tekstu do pliku. W tym artykule wyjaśniono niektóre z nich.

Aby dołączyć tekst do pliku, musisz mieć do niego uprawnienia do zapisu. W przeciwnym razie otrzymasz błąd odmowy uprawnień.

Dołącz do pliku za pomocą operatora przekierowania ( >> )

Przekierowanie pozwala przechwycić dane wyjściowe z polecenia i wysłać je jako dane wejściowe do innego polecenia lub pliku. >> Przekierowanie operator dołącza dane wyjściowe do danego pliku.

Istnieje szereg poleceń, których można użyć do wydrukowania tekstu na standardowe wyjście i przekierowania go do pliku, przy czym najczęściej używane są echo i printf .

Aby dołączyć tekst do pliku, podaj nazwę pliku po operatorze przekierowania:

echo "this is a new line" >> file.txt

W połączeniu z opcją -e polecenie echo interpretuje znaki specjalne, takie jak znak nowej linii :

echo -e "this is a new line \nthis is another new line" >> file.txt

Jeśli chcesz uzyskać bardziej złożone dane wyjściowe, użyj polecenia printf które pozwala określić formatowanie danych wyjściowych:

printf "Hello, I'm %s.\n" $USER >> file.txt

Innym sposobem dołączenia tekstu do pliku jest użycie dokumentu Here (Heredoc). Jest to rodzaj przekierowania, który pozwala przekazać wiele wierszy danych wejściowych do polecenia.

Na przykład możesz przekazać zawartość komendzie cat i dołączyć ją do pliku:

cat «EOF» file.txt Bieżący katalog roboczy to: $ PWD Jesteś zalogowany jako: $ (whoami) EOF

Możesz dołączyć dane wyjściowe dowolnego polecenia do pliku. Oto przykład z poleceniem date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Dołączając do pliku za pomocą przekierowania, uważaj, aby nie użyć operatora > do zastąpienia ważnego istniejącego pliku.

Dołącz do pliku za pomocą tee Command

tee to narzędzie wiersza polecenia w systemie Linux, które odczytuje ze standardowego wejścia i zapisuje zarówno standardowe wyjście, jak i jeden lub więcej plików jednocześnie.

Domyślnie polecenie tee zastępuje określony plik. Aby dołączyć dane wyjściowe do pliku, użyj tee z opcją -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

Zaletą używania polecenia tee nad operatorem >> jest to, że tee umożliwia dołączanie tekstu do wielu plików jednocześnie i pisanie do plików należących do innych użytkowników w połączeniu z sudo .

Aby dołączyć tekst do pliku, do którego nie masz uprawnień do zapisu, dodaj sudo przed tee jak pokazano poniżej:

echo "this is a new line" | sudo tee -a file.txt

tee odbiera dane wyjściowe polecenia echo , podnosi uprawnienia sudo i zapisuje do pliku.

Aby dołączyć tekst do więcej niż jednego pliku, określ pliki jako argumenty polecenia tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Wniosek

W systemie Linux, aby dołączyć tekst do pliku, użyj operatora przekierowania >> lub polecenia tee .

terminal bash