среднее значение конкретных строк в файле и вывод в файле с разделителями табуляции

Вы можете получить номер версии любого установленного пакета, передав pacman флаг -Q (запрос).

pacman -Q $package

Pacman считает пакеты, отсутствующие в базе данных синхронизации, чужими: чтобы распечатать список всех этих пакетов, вы можете передать pacman параметр -m :

pacman -Qm

От man pacman страница:

-m, --foreign
Ограничить или отфильтровать вывод пакетов, которые не были найдены в базе данных синхронизации. Обычно это пакеты, которые были загружены вручную и установлены с помощью --upgrade.

Поскольку pacman ничего не знает об AUR (кроме того факта, что эти пакеты, как и любые установленные вручную, существуют вне репозиториев), вам нужно будет использовать помощник AUR для получения текущей версии пакета пакет в AUR.

Cower обычно считается одним из лучших помощников (см. сравнительную таблицу на вики-странице и избегайте помощников с красными полями):

cower -s $package

2
22.03.2016, 01:13
2 ответа

Добавьте BEGIN { OFS="\t" } в начало сценария awk и измените {print } на {print $1, $2, $3, $4}. Это изменит разделитель полей вывода awk на tab с пробела по умолчанию.

EDIT:

Для n столбцов можно использовать {$1 = $1; print} вместо {print}. Я не уверен, как это работает внутри, но при тестировании это работает.

1
27.01.2020, 22:20

One more awk can do the thing

awk -f tst.awk file | column -t | awk -v OFS='\t' '{ print $1,$2,$3,$4 }'
0
27.01.2020, 22:20

Теги

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