С awk
это так же просто, как
awk -F, -vOFS=, '{$1=n++; print}' n=800 file
. Вы устанавливаете разделители ввода и вывода на ,
через -F,
и -vOFS =,
и инициализировать переменную n
значением 800
, используя n = 800
. Оператор "действия" {$ 1 = n ++; print}
выполняется для каждой записи, устанавливая в первом поле постинкрементное значение n
и распечатывая восстановленную запись
Похоже, что pkg-config
дедуплицирует флаги, а также пропускает пути "по умолчанию", такие как /usr/include.
См.,
$ printf "Name: whatever\nVersion: 1\nDescription: bla\nCflags: -I/usr/include" > /tmp/x.pc
$ pkg-config --cflags /tmp/x.pc
$ printf "Name: whatever\nVersion: 1\nDescription: bla\nCflags: -I/usr/includeX" > /tmp/y.pc
$ pkg-config --cflags /tmp/y.pc
-I/usr/includeX
Эти каталоги по умолчанию устанавливаются во время сборки pkg-config, см. README.md в исходниках:
./configure \
--prefix=/opt/pkgconf \
--with-system-libdir=/lib:/usr/lib \
--with-system-includedir=/usr/include
Вы можете отключить это поведение во время выполнения с помощью переменной среды:
$ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --cflags /tmp/x.pc
-I/usr/include
или переопределить встроенный по умолчанию:
$ PKG_CONFIG_SYSTEM_INCLUDE_PATH="/whatever" pkg-config --cflags /tmp/x.pc
-I/usr/include
Последний pkg-config также имеет параметры командной строки --keep-system-cflags
и --keep-system-libs