Як перезаписати файл за допомогою echo?


10

При використанні echo "foo">> bar.txtбільше одного разу він додається до кінця файлу. Як перезаписувати bar.txtщоразу?


2
Відповідь Денніса правильна. Дивіться man bashта шукайте (використовуючи /) розділ на тему "ПОПЕРЕДЖЕННЯ". Зокрема підрозділи "Перенаправлення результату" та "Додавання перенаправленого результату".
RedGrittyBrick

Відповіді:


28

>призначений для перенаправлення до файлу (його перезапис), а >>для додавання.

Щоб перезаписати bar.txt, скористайтеся цим:

echo "foo" > bar.txt

1
Частіше >називається перенаправленням (стандартний вихід у файл), тоді як символ труби |називається трубопроводом (стандартний вихід на інший процес). Ви ризикуєте заплутати людей, як я, коли ви посилаєтесь на >"трубопроводи"
RedGrittyBrick,

@RedGrittyBrick: Я бачив трубопроводи у кількох книгах (і це я говорив уже багато років), але перенаправлення, здається, набагато частіше. Дякую.
Денніс

@Dennis Piping використовує трубу |для підключення виводу однієї програми / команди до входу іншої. Пов'язані .
Даніель Бек

@DanielBeck: Я мав на увазі, що я бачив прошивку до файлу . Приклад: Дізнайтеся Windows PowerShell за місяць обідів - Передача файлу чи принтера
Денніс

Зауважте, що згідно зі сторінкою 43, PowerShell > foo- це лише синтаксичний цукор для | Out-File foo, а тому є формою трубопроводів ;-)
Даніель Бек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.