Zakładając, że mam wiersz, który chcę dodać do pliku bez otwierania edytora.
Jak mogę dołączyć tę linię
alias list='ls -cl --group-directories-first'
do tego pliku
config.fish
Zakładając, że mam wiersz, który chcę dodać do pliku bez otwierania edytora.
Jak mogę dołączyć tę linię
alias list='ls -cl --group-directories-first'
do tego pliku
config.fish
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 .
>
plik zostanie obcięty, a nie dołączony. dla bezpieczniejszego polecenia możesz użyć sed:sed -i '$a hello world' filename
-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, ia
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
źródło
Dodając do odpowiedzi Stefano , możesz także użyć
cat
:Używając heredoc:
<<'EOF'
oznacza „weź następujące dane wejściowe, aż dojdziesz do prostej liniiEOF
”. Cytaty oznaczają dosłownie wejście.Lub wprowadzanie linii na standardowe wejście:
Następnie wklej lub wpisz wiersz, naciśnij, Enteraby przejść do nowego wiersza, a następnie naciśnij Ctrl + D, aby zaznaczyć koniec.
źródło