作者lovec (不顾)
看板Linux
标题[问题] 如何将Command Line的结果"带格式"存档??
时间Tue May 6 13:53:21 2014
大家好,今天又来问问题了 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://webptt.com/cn.aspx?n=bbs/Linux/M.1399355604.A.596.html
1F:→ Cypresslin:我看到的也是一行一行,你用别的系统开那个档案对吧? 05/06 13:55
2F:→ lovec:没有耶,我在Ubuntu 12.04下,使用文章里的指令,再用cat去 05/06 13:56
3F:→ lovec:看HDD.txt就是直接连着没分行的资料。 05/06 13:57
4F:→ Cypresslin:哦哦,是你的指令造成的,一定要用这个指令作吗? 05/06 13:59
5F:→ Cypresslin:df -h > log; cat log就会是正常的了 05/06 14:00
6F:→ lovec:好像真的是因为我把成果指成一个变数的关系才会没格式耶 05/06 14:02
7F:→ lovec:我照您的指令下都是有格式的,我再实验看看,谢谢你的帮忙! 05/06 14:03
8F:→ lovec:感谢您!! 05/06 14:03
9F:→ Microscft:你也可以pipe给sed去做处理再输出导向给档案 05/06 14:38
10F:→ Microscft:不过这样好像没什麽意义 只是练习sed指令而已 05/06 14:38
11F:→ Microscft:直接把指令结果输出导向给档案就是你在萤幕看到的样子了 05/06 14:39
12F:→ Rhinocero:allHDD=df -H | tee /root/test/HDD.txt 这样就可以了 05/06 23:59
13F:→ nullspace:把IFS设成空或空白,这样echo就不会把\n当参数分隔符号 05/07 06:12
14F:→ nullspace:IFS=" " allHDD=$(df -H) && echo $allHDD > 1.txt 05/07 06:13
15F:→ nullspace:更正:是 "shell 暂时不会把 \n 当成分隔符号" 05/07 06:14
16F:→ nullspace:或是 IFS="" allHDD=$(df -H) && echo $allHDD > 1.txt 05/07 06:15
17F:推 yvb:echo "$allHDD" 05/07 15:35
18F:推 sppmg:楼上正解 echo \n 请加"" 05/08 16:30
19F:→ sppmg:我是指\n字元。要输出\n 请 -e "\\n" 05/08 16:31