Làm cách nào để hiển thị không gian đĩa có sẵn của một mount ở định dạng cụ thể?


1

Tôi muốn hiển thị không gian đĩa có sẵn của một mount xx% định dạng,

Ví dụ:

sh-3.1$ df -h /opt/Application/Disk1/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg00-LogVol09
                       57G   33G   22G  60% /opt/Application/Disk1/

Tôi chỉ muốn hiển thị "% 60"


Nó đã hiển thị như thế. Bạn có một câu hỏi thực tế?
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams Ông chỉ muốn hiển thị "60%" (hoặc "% 60", dunno). Không phải toàn bộ đầu ra.
slhck

Câu trả lời:


2

Bạn có thể thử giải pháp sau:

df -h /opt/Application/Disk1/ | awk '{print $4}' | tail -1

Đây awk '{print $4}' sẽ in bất cứ điều gì xuất hiện trong cột 4 trong đầu ra của bạn và tail -1 sẽ chỉ lọc ra dòng cuối cùng.


1

Tôi muốn hiển thị không gian đĩa có sẵn của một mount ở định dạng xx%

...

Tôi chỉ muốn hiển thị "% 60"

Ví dụ bạn đưa ra không hoàn toàn phù hợp với câu hỏi vì có sẵn không gian đĩa trong ví dụ này sẽ là 40%. Trong trường hợp bạn chỉ muốn lọc Đầu ra cho đã sử dụng không gian đĩa, bạn muốn đi với câu trả lời của Eugene S. Trong trường hợp bạn muốn thể hiện có sẵn dung lượng đĩa tính bằng phần trăm, bạn có thể sử dụng phiên bản sửa đổi của nó. Như thế này:

df /opt/Application/Disk1/ | awk '{print (100 -$5 )}' | tail -1 | sed 's/^/%/g'

Ở đâu awk '{print (100 -$5 )}' trừ phần trăm đã sử dụng không gian đĩa (nằm trong cột thứ 5 trong đầu ra bình thường của df ) từ 100, dẫn đến tỷ lệ phần trăm của có sẵn không gian đĩa. Các dấu sed 's/^/%/g' chỉ cần thêm ký hiệu% ở phía trước đầu ra. Để thêm% sau khi sử dụng đầu ra sed 's/$/%/g' thay thế.


0
#!/usr/bin/env python
import os, sys
st = os.statvfs(sys.argv[1])
free = st.f_bfree/st.f_blocks * 100
sys.stdout.write("%.f%%\n" % free)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.