0
我試圖在我的Java應用程序中解析df -Pg
命令的輸出,該應用程序將根據需要爲我打印。在AIX上設置命令輸出的列寬
下面是命令的輸出:
Filesystem GB blocks Used Available Capacity Mounted on
/dev/hd4 1.00 0.30 0.70 31%/
/dev/hd2 3.62 2.65 0.98 74% /usr
/dev/hd9var 2.00 0.19 1.81 10% /var
/dev/hd3 2.88 1.61 1.27 56% /tmp
/dev/hd1 2.00 1.30 0.70 66% /home
/proc - - - - /proc
/dev/hd10opt 1.00 0.27 0.73 28% /opt
/dev/fslv00 2.88 1.25 1.63 44% /tsmfiles
/dev/fslv01 2.00 0.84 1.16 43% /opt/IBM/ITM
/dev/livedump 0.25 0.00 0.25 1% /var/adm/ras/livedump
/dev/DoOnceAIX 0.75 0.00 0.75 1% /DoOnceAIX
/dev/nmonlv 1.00 0.03 0.97 4% /var/perf/poa
/dev/fslv02 49.50 42.86 6.64 87% /u01
/dev/fslv03 685.00 312.62 372.38 46% /u02
akslltsm:/depot 60.50 43.06 17.44 72% /mnt
我在Java解析器分裂這段文字與間距的大小。在讀取行時,當hee看到至少1個空格字符時,解析器會拆分字符串。正如你所看到的,列中有一些行(如「GB blocks
」和「Mounted on
」),所以我不能按照我的意願拆分。
我想要的是設置列寬(2+空格字符),並讓我的程序成功解析它。
爲什麼不只是扔掉第一行? –
好主意,但不是一個永久的解決方案。我打算每天打印很多像這樣的命令輸出。在某些情況下,我還需要第一行。 – AloneInTheDark
@AloneInTheDark,跳過第一行。然後,生成您自己的標題行。 – sat