linux程序cat本地文本文件,linux – 这里有cat的文件
當cat沒有在命令行上給出文件名(或者文件名只是 – )時,它會切換到從其標準輸入讀取.
這意味著
cat <
something something
END
cat會注意到它沒有給出文件名,并將繼續讀取here-document,它來自其標準輸入流.
您可以讓cat從其標準輸入和文件中讀取
cat - filename <
something something
END
這將導致here-document的內容與filename的內容連接在一起.如果參數的順序是文件名 – 那么這將是數據連接的順序.
請注意 – 以任何方式對shell都不是特殊的,并且特別是由cat實用程序(以及其他一些)解釋為“標準輸入”.如果您有一個名為的實際文件 – 您需要運行cat,請使用cat ./-,即使用路徑指定文件名.
出于所有目的,您可以考慮將here-document直接輸入實用程序,作為創建臨時文件的簡寫,然后使用附加到標準輸入流的實用程序調用該實用程序:
printf 'some contents' >tmpfile
utility
rm -f tmpfile
這里的文檔實際上可能不是這樣實現的(它可能是一個FIFO(命名管道)),但這并不是一種完全錯誤的思考方式.
讀取bash源代碼,似乎特定的shell通過使用mkstemp()庫函數創建一個臨時文件來實現here-documents,如果它可用,否則它會嘗試創建一個隨機文件名來寫入.然后將文檔的內容寫入該文件,并在標準輸入上提供數據,無論它正在讀取它,就像它來自文件一樣,重定向為
總結
以上是生活随笔為你收集整理的linux程序cat本地文本文件,linux – 这里有cat的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下列计算机程序设计语言中不属于高级语言,
- 下一篇: linux中getchar函数用法,li