Linux

將輸出重定向到兩個不同的文件,一個在命令執行時應該有新的輸出,另一個應該有新舊內容

  • May 23, 2022

將輸出重定向到兩個不同的文件,一個在命令執行時應該有新的輸出,另一個應該有新舊內容。

例如:

openstack port create --network testnetwork1 test1-subport110 --disable-port-security --no-security-group 

我需要將輸出重定向到 2 個不同的文件。文件 A.txt 和 B.txt。每當執行 openstack port create 命令時,新輸出應該在 A.txt 中,新舊輸出應該在 B.txt 中。

我想要像下面一樣,

cat A.txt
port2UUID

cat B.txt
port1.UUID
port2.UUID

請幫助我。提前致謝

cmd | tee A.txt >> B.txt

或者

cmd | tee -a B.txt > A.txt

tee(想想管道工的 T)cmd的輸出到A.txt附加模式到B.txt.

使用zsh外殼,您還可以執行以下操作:

cmd > A.txt >> B.txt

(當多次重定向同一個文件描述符時,‘ing 本身在哪裡)zshT


要將cmd’s stderr 包含到 T 的流入中,請使用:

cmd 2>&1 | tee A.txt >> B.txt

或在zsh

cmd > A.txt >> B.txt 2>&1

或者:

cmd >& A.txt >>& B.txt

引用自:https://unix.stackexchange.com/questions/703545