Linux
awk 不換行
我正在嘗試列印出目前登錄的使用者(每個終端的每個登錄使用者)。這是我目前擁有的:
NOWDATE=$(date +"%Y-%m-%d") NOWTIME=$(date +"%T") USERS=$(who | awk -v nd="$NOWDATE"_"$NOWTIME" '{printf nd "\n" " User: "$1" Terminal: "$2" Login: "$3" "$4 "\n"}')
不幸的是,
\n
不起作用,這意味著我無法在變數$4
. 輸出不做任何新行。我怎樣才能實現printf
在變數後換行$4
?注意:我只是執行 echo 來列出使用者,所以
echo $USERS
代替
echo $USERS
和:
echo "$USERS"
對於不帶引號的變數,例如 in
echo $USERS
,shell 執行分詞。這意味著所有空白字元,例如換行符,都被 IFS 中的第一個字元替換(預設情況下:空格)。如果要保留換行符,請使用雙引號。