看板 Linux 關於我們 聯絡資訊
大家好,今天又來問問題了 XD 我的問題是如何在Command line下有格式地儲存結果為檔案 舉例來說 : allHDD=$(df -H) && echo $allHDD > /root/test/HDD.txt 這樣就可以儲存下df -H後得到的硬碟資訊 但是這些資料會以無格式的方式被儲存 也就是在Command line下看到的df -H會是 : Filesystem Size Used Avail Use% Mounted on /dev/sda1 981G 19G 913G 2% / /dev/sdb2 4.6G 161M 4.5G 4% /syshdd 被存入檔案HDD.txt後是 /dev/sda1 981G 19G 913G 2% / /dev/sdb2 4.6G 161M 4.5G 4% /syshdd (中間都隔一個space) 請問是否有參數可以利用來將資料"一行一行"的存起來?? 簡單說就是希望一個Filesystem獨立一行存起來,如下例 : /dev/sda1 981G 19G 913G 2% / /dev/sdb2 4.6G 161M 4.5G 4% /syshdd 請問有相關的參數可以用嗎? 還是只能自己額外處理?? 謝謝大家幫忙。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.70.82 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1399355604.A.596.html
Cypresslin:我看到的也是一行一行,你用別的系統開那個檔案對吧? 05/06 13:55
lovec:沒有耶,我在Ubuntu 12.04下,使用文章裡的指令,再用cat去 05/06 13:56
lovec:看HDD.txt就是直接連著沒分行的資料。 05/06 13:57
Cypresslin:哦哦,是你的指令造成的,一定要用這個指令作嗎? 05/06 13:59
Cypresslin:df -h > log; cat log就會是正常的了 05/06 14:00
lovec:好像真的是因為我把成果指成一個變數的關係才會沒格式耶 05/06 14:02
lovec:我照您的指令下都是有格式的,我再實驗看看,謝謝你的幫忙! 05/06 14:03
lovec:感謝您!! 05/06 14:03
Microscft:你也可以pipe給sed去做處理再輸出導向給檔案 05/06 14:38
Microscft:不過這樣好像沒什麼意義 只是練習sed指令而已 05/06 14:38
Microscft:直接把指令結果輸出導向給檔案就是你在螢幕看到的樣子了 05/06 14:39
Rhinocero:allHDD=df -H | tee /root/test/HDD.txt 這樣就可以了 05/06 23:59
nullspace:把IFS設成空或空白,這樣echo就不會把\n當參數分隔符號 05/07 06:12
nullspace:IFS=" " allHDD=$(df -H) && echo $allHDD > 1.txt 05/07 06:13
nullspace:更正:是 "shell 暫時不會把 \n 當成分隔符號" 05/07 06:14
nullspace:或是 IFS="" allHDD=$(df -H) && echo $allHDD > 1.txt 05/07 06:15
yvb:echo "$allHDD" 05/07 15:35
sppmg:樓上正解 echo \n 請加"" 05/08 16:30
sppmg:我是指\n字元。要輸出\n 請 -e "\\n" 05/08 16:31