Удалить строки с выводом -из -порядка повторяющихся значений

В вашем случае проще всего установить пакет open-vm-tools.

Чтобы ответить на ваш вопрос, не существует надежного -надежного способа вывести список всех отсутствующих пакетов сразу, в основном потому, что это не было разработано, а configureскрипты позволяют их авторам делать что угодно — так что нет никакого способа знать заранее, как продолжать и безопасно ли продолжать. Примером проблемы, с которой вы можете столкнуться, являются тесты, основанные на результатах предыдущих тестов; напр. проверить наличие установленной программы, выдать ошибку, если она не установлена, и использовать ее в последующих тестах, если она установлена. Продолжение, если программа отсутствует, не даст очень полезных результатов.

Однако во многих случаях вы можете получить полезные результаты, настроив configureтак, чтобы он не закрывался при возникновении ошибки. Как правило, это включает замену AC_MSG_ERRORна AC_MSG_WARN, в configure.acи любой библиотеке M4, используемойconfigure.ac:

sed -i 's/AC_MSG_ERROR/AC_MSG_WARN/g' configure.ac m4/*.m4
autoreconf -i
./configure...

и найдите сообщения «ПРЕДУПРЕЖДЕНИЕ :».

Конечно, вы должны восстановить configure.acи библиотеки M4, прежде чем пытаться собрать программное обеспечение «правильно».

Если посмотреть на это в более общем плане, то есть и другие способы определения зависимостей. Во многих случаях они перечислены в документации (README, INSTALL... ), иногда даже с соответствующими именами пакетов для популярных дистрибутивов. Другим полезным местом для просмотра является сам configure, либо запустив ./configure --help, либо прочитав configure.ac(, или CMakeLists.txt, или meson.build, или любой другой файл, подходящий для используемого инструмента сборки ).Если программное обеспечение, на которое вы смотрите, упаковано в дистрибутив Linux, вы также можете просмотреть метаданные там, хотя они будут соответствовать только версии упакованного программного обеспечения и будут отражать выбор пакетов сопровождающего(apt showsrc...в Debian. производные ).

2
24.08.2020, 13:42
3 ответа

Другой способ включает в себя отслеживание «видимых» пар чисел с помощью массива

awk '!a[$1 < $2? $1 FS $2: $2 FS $1]++' file
2 1
3 1
3 2
2
18.03.2021, 23:10

Например:

~$ cat 1.txt                                                                                                                                                                                   
2 1
3 1
1 2
3 2
1 3
2 3
~$ cat 1.txt| sort -nk1                                                                                                                                                                        
1 2
1 3
2 1
2 3
3 1
3 2

вsort -nk1

"n" -для числовой сортировки

"k1" -для сортировки по первому столбцу

0
18.03.2021, 23:10

Лучший способ добиться того, что я хотел, состоял в том, чтобы отсортировать числа в строке, а затем удалить дубликаты (, как это было предложено в комментариях @alecxs ). Решение равно:

awk '$1>$2{$0=$2 OFS $1} 1' example.txt | sort -u

Где:

$1>$2{$0=$2 OFS $1} sorts each line. sort -u removes duplicate lines.

2
18.03.2021, 23:10

Теги

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