使用檔案重定向

hisun9發表於2024-10-23

在Linux終端使用了下檔案重定向

img

img

在試的時候命令比較混亂,再重新捋一下:

  1. 首先使用vim編輯器建立一個名為test.cpp的檔案。
    具體內容如下:
    img

  2. 然後使用g++ -o test test.cpp命令編譯生成可執行檔案test

  3. 接著使用vim編輯器建立了輸入檔案data.txt
    具體內容如下:

    img

  4. 再執行命令./test < data.txt > output.txt,將輸入檔案data.txt的內容作為test程式的輸入,將程式的輸出重定向到輸出檔案output.txt

  5. 最後使用vim output.txt命令檢視輸出檔案的內容。
    具體內容如下:

    img

注意:

我一開始用的是test < data.txt > output.txt,但是並沒有達到預期的效果,output.txt檔案是空的。

所以我改成了./test < data.txt > output.txt,才達到了預期的效果。

補充:

問了下chatgpt檔案重定向,附上它的回答:

檔案重定向是指將程式的輸入和輸出重定向到檔案,而不是預設的標準輸入(鍵盤)和標準輸出(螢幕)。

在不同的作業系統中,重定向的語法可能會有所不同。以下是一些基本的用法示例,主要針對 Unix/Linux 系統和 Windows 系統:

在 Unix/Linux 系統中:

  1. 輸出重定向(將輸出寫入檔案):

    command > output.txt
    

    這將把 command 的輸出寫入 output.txt 檔案。如果檔案已存在,則會覆蓋它。

  2. 追加輸出重定向(將輸出追加到檔案):

    command >> output.txt
    

    這將把 command 的輸出追加到 output.txt 檔案,而不是覆蓋它。

  3. 輸入重定向(從檔案讀取輸入):

    command < input.txt
    

    這將從 input.txt 檔案讀取輸入。

  4. 錯誤重定向(將錯誤輸出寫入檔案):

    command 2> error.txt
    

    這將把 command 的錯誤輸出寫入 error.txt 檔案。

在 Windows 系統中:

  1. 輸出重定向(將輸出寫入檔案):

    command > output.txt
    

    這將把 command 的輸出寫入 output.txt 檔案。如果檔案已存在,則會覆蓋它。

  2. 追加輸出重定向(將輸出追加到檔案):

    command >> output.txt
    

    這將把 command 的輸出追加到 output.txt 檔案,而不是覆蓋它。

  3. 輸入重定向(從檔案讀取輸入):

    command < input.txt
    

    這將從 input.txt 檔案讀取輸入。

  4. 錯誤重定向(將錯誤輸出寫入檔案):

    command 2> error.txt
    

    這將把 command 的錯誤輸出寫入 error.txt 檔案。

看完gpt的解釋,相信對./test < data.txt > output.txt這一語句會更加理解了。

相關文章