Jak zastąpić plik za pomocą echa?

10

Przy użyciu echo "foo">> bar.txtwięcej niż jeden raz dołącza się do końca pliku. Jak nadpisywać za bar.txtkażdym razem?

J.Olufsen
źródło
2
Odpowiedź Dennisa jest poprawna. Zobacz man bashi wyszukaj (za pomocą /) sekcję „REDIRECTION”. W szczególności podrozdziały „Przekierowywanie danych wyjściowych” i „Dołączanie przekierowanych danych wyjściowych”.
RedGrittyBrick

Odpowiedzi:

28

>służy do przekierowania do pliku (zastąpienia go), natomiast >>do dołączenia.

Aby zastąpić bar.txt, użyj tego:

echo "foo" > bar.txt
Dennis
źródło
1
Częściej, >jest określany jako przekierowania (standardowe danych do pliku), podczas gdy symbol rury |określa się jako rurowych (standardowe wyjście do innego procesu). Ryzykujesz, że wprowadzisz w błąd ludzi takich jak ja, gdy mówisz o >
dudkowaniu
@RedGrittyBrick: Widziałem orurowania w kilku książek (i mówiłem to od lat), ale przekierowanie wydaje się być znacznie bardziej powszechne. Dzięki.
Dennis
@Dennis Piping używa potoku |do połączenia wyniku jednego programu / polecenia z wejściem innego. Związane .
Daniel Beck
@DanielBeck: Miałem na myśli, że widziałem potok do pliku . Przykład: Naucz się programu Windows PowerShell w ciągu miesiąca na lunch - Przesyłanie potoków do pliku lub drukarki
Dennis,
Zauważ, że zgodnie ze stroną 43, w PowerShell > foojest po prostu cukrem syntaktycznym | Out-File fooi dlatego jest formą dudkowania ;-)
Daniel Beck