Существуют xfsdump и xfsrestore для XFS, которая является родной файловой системой Linux уже довольно долгое время.
Попробуйте это,
grep -E -o '[0-9]\.[0-9]\.[0-9]\.[0-9][^[:space:]]+' file
-E
Интерпретировать ШАБЛОН как расширенное регулярное выражение -o
Печатать только совпадающие части совпадающей строки [^[:space:]]+
до пробела Если под словом вы подразумеваете последовательность не -пробельных символов, а под числом вы подразумеваете шестнадцатеричный (без знака или начала 0x
, поэтому последовательность из 0123456789abcdefABCDEF символов ), и что вам нужно по крайней мере два из этих чисел в слове (, иначе abcd
также будет соответствовать ), с GNU grep
вы можете сделать:
grep -Pio '(?<!\S)[0-9a-f]+(\.[0-9a-f]+)+(?!\S)'
Или сperl
:
perl -lne 'for (/\S+/g) {print if /^[\da-f]+(\.[\da-f]+)+$/}'
Предполагая, что значения находятся внутри файла, с pcre grep:
$ grep -P '(([0-9a-f]+)\.)(?1)+(?2)' file
9.0.8.2c
8.1.3.9b
Или с перлом:
perl -lne '/((([\da-f]+)\.)(?2)+(?3))/;print $1' file