Как добавить вывод команды в конец текстового файла?
Используйте >>
вместо >
при перенаправлении вывода в файл:
your_command >> file_to_append_to
Если file_to_append_to
не существует, он будет создан.
Пример:
$ echo "hello" > file
$ echo "world" >> file
$ cat file
hello
world
Вы можете использовать оператор → . Это добавит данные из команды в конец текстового файла.
Чтобы протестировать эту попытку, выполните:
echo "Hi this is a test" >> textfile.txt
Сделайте это несколько раз, а затем запустите:
cat textfile.txt
Вы увидите, что ваш текст был добавлен несколько раз в файл textfile.txt.
Для append
файла используйте >>
echo "hello world" >> read.txt cat read.txt echo "hello siva" >> read.txt cat read.txt
тогда вывод должен быть
hello world # from 1st echo command hello world # from 2nd echo command hello siva
Чтобы overwrite
файл, используйте >
echo "hello tom" > read.txt cat read.txt
тогда выход
hello tom
Используйте command >> file_to_append_to
для добавления в файл.
Например echo "Hello" >> testFile.txt
ВНИМАНИЕ:, если вы используете только один >
, вы полностью перезапишете содержимое файла. Чтобы этого не произошло, вы можете добавить set -o noclobber
в .bashrc
.
Это гарантирует, что если вы случайно наберете command > file_to_append_to
в существующий файл, он предупредит вас, что файл уже существует. Пример сообщения об ошибке: file exists: testFile.txt
Таким образом, при использовании >
он позволит вам создать новый файл, а не перезаписывать существующий файл.
Используйте оператор >>
для добавления текста в файл.
для всего вопроса:
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
это добавит 720 строк (30 * 24) в файл o.txt и после этого переименует файл на основе текущей даты.
Запускать выше с помощью cron каждый час или
while :
do
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
sleep 3600
done
Например, ваш файл содержит:
1. mangesh@001:~$ cat output.txt
1
2
EOF
если u хотите добавить в конец файла, затем ---- > запомнить пробелы между 'text' → 'filename'
2. mangesh@001:~$ echo somthing to append >> output.txt|cat output.txt
1
2
EOF
somthing to append
И для перезаписи содержимого файла:
3. mangesh@001:~$ echo 'somthing new to write' > output.tx|cat output.tx
somthing new to write
cat
... просто совершенно дурацкая. (Он пуст, потому что вы просто перенаправили стандартный вывод в файл.)
Я предлагаю вам сделать две вещи:
>>
в своей оболочке script для добавления содержимого в определенный файл. Имя файла может быть исправлено или использовать некоторый шаблон.
echo
удаляет символы новой строки из строки. Как вы добавляете в файл строку, которая содержит переводы строки?