Odpowiedzi:
Możesz dołączyć wiersz tekstu do pliku za pomocą >>
operatora:
echo "hello world" >> my_file.txt
lub w twoim przypadku
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Proszę zwrócić uwagę na różne rodzaje cytatów .
-i
zaktualizuje plik (w przeciwnym razie po prostu wydrukuje wynik na standardowe wyjście), $
jest wyrażeniem regularnym, które będzie pasować do końca pliku, i a
doda następujący tekst do nazwy pliku.
echo "hello world" >> my_file.txt
nie tworzy nowego ostatniego wiersza za pomocą HW
, ale dodaje go do ciągu ostatniego wiersza.
HW
@timo?
echo
dodaje podział wiersza (czyniąc go wierszem, a nie tylko garstką znaków). Możesz wyłączyć podział linii na końcu za pomocą -n
.
Istnieje wiele metod dołączania do pliku bez otwierania edytorów tekstu, szczególnie poprzez wiele dostępnych narzędzi do przetwarzania tekstu w Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
Dodając do odpowiedzi Stefano , możesz także użyć cat
:
Używając heredoc:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'
oznacza „weź następujące dane wejściowe, aż dojdziesz do prostej linii EOF
”. Cytaty oznaczają dosłownie wejście.
Lub wprowadzanie linii na standardowe wejście:
$ cat >> config.fish
Następnie wklej lub wpisz wiersz, naciśnij, Enteraby przejść do nowego wiersza, a następnie naciśnij Ctrl + D, aby zaznaczyć koniec.
>
plik zostanie obcięty, a nie dołączony. dla bezpieczniejszego polecenia możesz użyć sed:sed -i '$a hello world' filename