Я работал df -lP
который дал мне следующий вывод:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.6G 2.2G 5.1G 30% /
varrun 506M 108K 506M 1% /var/run
varlock 506M 0 506M 0% /var/lock
udev 506M 44K 506M 1% /dev
devshm 506M 12K 506M 1% /dev/shm
lrm 506M 40M 467M 8% /lib/modules/2.6.24-26-generic/volatile
gvfs-fuse-daemon 7.6G 2.2G 5.1G 30% /home/vmadmin/.gvfs
Как я могу удалить строку, где она говорит /home/"can be anything"
?
Я не могу использовать df -lP | sed '$d'
потому что вывод был бы
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda1 7867856 3622668 3845524 49% /
tmpfs 513448 0 513448 0% /lib/init/rw
udev 507692 124 507568 1% /dev
tmpfs 513448 4 513444 1% /dev/shm
Читая ваш вопрос сейчас, можно найти простое решение:
df -lP | grep -v '/home/'
Где / home - это то, которое вы не хотите видеть, и -v в grep даст вам обратное тому, что вы ищете. По сути, вы бы сказали grep искать все строки, которые НЕ имеют /home
с ними.
Если вы хотите исключить другие папки, сделайте следующее:
df -h | grep -ve "/home" -ve "/lib"
Это исключит все /home
папки и все /lib
папки. Вы можете продолжить добавление исключенной папки, добавив -ve и в "" папку, которую хотите исключить.
Как насчет этого?
df -lP | grep -v "%\s\/home\/"
Он фильтрует все строки, соответствующие %
, за которыми следует одиночный пробел и затем /home/
с использованием grep
.
Примечание для других читателей: как уже в вопросе, важно использовать -P
в df
, чтобы сохранить предсказуемый однострочный вывод.