Мне нужно извлечь информацию о монтировании NFS, используя mount
в системах Linux (RHEL 4/5) и Solaris (Solaris 10). Поскольку это часть команды SSH, извлечение должно происходить в одной строке. К сожалению, Linux и Solaris отображает точку монтирования на различных участках линии:Как извлечь информацию NFS из mount в Linux и Solaris?
Linux:
10.0.0.1:/remote/export on /local/mountpoint otherstuff
Solaris:
/local/mountpoint on 10.0.0.1:/remote/export otherstuff
Я хотел бы получить следующее пространство, отделенное выход
10.0.0.1 /remote/export /local/mountpoint
Мне удалось сделать это отдельно с помощью sed
(Solaris 10 sed
), но мне нужна одна команда, сохраняющая один и тот же вывод для обоих.
Linux sed
:
sed 's/\([^:]*\):\([^ ]*\)[^\/]*\([^ ]*\) .*/\1 \2 \3/'
Solaris sed
:
sed 's/\([^ ]*\) *on *\([^:]*\):\([^ ]*\) .*/\2 \3 \1/'
Решение:
Я приспособил accepted answer также работать с именами DNS и не только IP-адреса:
awk -F'[: ]' '{if(/^\//)print $3,$4,$1;else print $1,$2,$4}'
Почему это с 'sed', а не с (скажем) 'awk' или' cut'? –