Это может помочь:
#!/bin/bash
awk -vtag=instance -vp=0 '{
if($0~("^<"tag)){p=1;next}
if($0~("^</"tag)){p=0;printf("\n");next}
if(p==1){$1=$1;printf("%s",$0)}
}' infile
Предполагая, что текст Sample
в вашем примере является ошибкой, не усложняйте его.
Переменная p определяет, когда печатать. A $1=$1
удаляет начальные пробелы.
Вы действительно можете использовать Apple usdzconvert
в Linux. Вам нужно:
usdpython/USD/lib
на USD/lib
, который вы построили usdpython/USD/lib/python
к вашему PYTHONPATH
, однако я не уверен, что это так для каждой настройки Если вы используете только инструмент usdzconvert, я рекомендую вам загрузить USDPython 0.62, потому что он поставляется не в виде Apple.pkg, а в виде самого кода. Некоторые функции доступны только в более новых версиях (, таких как usdzaudioimport ), но в этом случае вам нужно будет копаться в самом пакете Apple.
Другой вариант — конвертировать ваши форматы в glTF и использовать usd _из _gltf