如何將輸出附加到文本文件的末尾

如何將命令輸出附加到文本文件的末尾? bash


#1樓

我建議您作兩件事: app

  1. 在Shell腳本中使用>>將內容附加到特定文件。 文件名能夠是固定的,也能夠使用某些模式。
  2. 設置每小時的cronjob來觸發Shell腳本

#2樓

例如,您的文件包含:
spa

1.  mangesh@001:~$ cat output.txt
    1
    2
    EOF

若是您想在文件末尾附加->請記住'text'>>'filename'之間的空格 code

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

#3樓

使用command >> file_to_append_to附加到文件。 get

例如, echo "Hello" >> testFile.txt it

注意:若是僅使用一個> ,則將徹底覆蓋文件的內容。 爲了確保永遠不會發生,您能夠在.bashrc添加set -o noclobberio

這樣能夠確保,若是您不當心在現有文件中鍵入command > file_to_append_to ,它將提醒您該文件已存在。 錯誤消息樣本: file exists: testFile.txt test

所以,當您使用> ,它將僅容許您建立一個新文件,而不會覆蓋現有文件。 file


#4樓

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


#5樓

我會使用printf而不是echo,由於它更可靠而且能夠正確處理格式,例如換行\\n

此示例產生的輸出相似於先前示例中的echo:

printf "hello world"  >> read.txt   
cat read.txt
hello world

可是,若是在此示例中將printf替換爲echo,則echo會將\\ n視爲字符串,所以忽略了意圖

printf "hello\nworld"  >> read.txt   
cat read.txt
hello
world
相關文章
相關標籤/搜索