пропустите раздел / data & / из вывода для fstab - PullRequest
0 голосов
/ 12 июня 2018

У меня есть вывод ниже, я хочу избавиться от / data & / также в выводе.

cat /etc/fstab  | egrep -v '^#' | awk '{print $2}'| grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts|/apps|/boot|home|/opt|/var|/var|/crash|/tmp|"' > /tmp/mounts.txt

Вывод:

/
/data
/data/logs/mount1
/data/logs/mount2

Мне просто нужны / данные/ logs / mount1 & / data / logs / mount2 для отображения.Есть предложения?

Спасибо, кг

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

awk может сделать все, что делает ваш конвейер:

awk '
    # skip comments and empty lines
    $1 ~ /^#/ || NF == 0 {next}
    # skip mountpoints not beginning with a slash
    $2 ~/^[^/]/ {next}
    # skip / and /data
    $2 == "/" || $2 == "/data" {next}
    {print $2}
' /etc/fstab

или, если вы любитель белья:

awk 'NF&&$1!~/^#/&&$2!~/^[^/]/&&$2!="/"&&$2!="/data" {print $2}' /etc/fstab
0 голосов
/ 12 июня 2018

Добавьте «| grep / data /», который не будет соответствовать / и /data.

Для вашего примера это:

cat /etc/fstab  | egrep -v '^#' | awk '{print $2}'| grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts|/apps|/boot|home|/opt|/var|/var|/crash|/tmp|"' | grep /data/ > /tmp/mounts.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...