grep для форматирования двух чисел с помощью ','

Правильный ответ, если у вас есть только версия tar для Sun:

gzip -dc file.tar.gz | tar -tf -

, как указано Риккардо Мурри в комментарии выше. Вы можете использовать эту команду в любой версии Solaris с незапамятных времен.

Если бы у вас был доступный GNU tar, вы бы, конечно, даже не задавали этот вопрос. Я считаю, что в Solaris 11 этот tar GNU установлен по умолчанию, однако он будет называться gtar , чтобы отличать его от стандартной версии tar от Sun.

Если GNU tar по какой-либо причине не установлен в вашей системе Solaris 11, вы можете установить его следующим образом:

pkg install //solaris/archiver/gnu-tar

Несколько иронично, что GNU tar теперь доступен по умолчанию в Solaris 11, потому что он стал намного меньше необходимости: похоже, что Oracle / Sun обновили свой собственный tar, так что теперь он предлагает поддержку сжатия (аналогично GNU tar) и может обрабатывать проблемные tar-файлы Linux, которые ранее выдавали ошибку, если вы пытались распаковать с помощью Sun tar.


В Solaris 10 вы можете надеяться, что ваш системный администратор любезно установил содержимое компакт-диска Solaris Companion. В этом случае вы найдете GNU tar в / opt / sfw / bin / gtar . К сожалению, многие системные администраторы Solaris гордятся тем, что намеренно не устанавливают пакеты от Sun (теперь Oracle), которые делают систему Solaris «GNU-совместимой» при настройке хоста. Бьет меня почему.

В любом случае: в вашей системе всегда должен быть GNU tar (по крайней мере, на

В вашей организации: Убедитесь, что GNU tar является частью вашего пакета по умолчанию для новых хостов Solaris!

0
12.04.2018, 15:20
1 ответ

Вы можете найти «Core». что соответствует Core 0 и Core 1 (в моей системе 0 и 2):

sensors | grep -oP "Core.:\s*\+\K[0-9]+" | tr "\n" "," 
46,42,

и используйте tr (anslate ), чтобы заменить новые строки запятыми.

Это служит вам дополнительной запятой в конце.

Вы избавляетесь от этого с помощью подстроки от начала (0 )до единицы перед концом (-1):

sens=$(sensors | grep -oP "Core.:\s*\+\K[0-9]+" | tr "\n" ",")
echo ${sens: 0: -1}
47,44
0
28.01.2020, 04:26

Теги

Похожие вопросы