Для пересборки perl
библиотек из AUR
для pacmanager
использую yaourt:
yaourt -S --asdeps perl-gnome2-gconf glade-perl perl-crypt-blowfish perl-gnome2-vte perl-expect perl-crypt-rijndael perl-gtk2-ex-simple-list perl-io-stty perl-io-tty perl-net-arp perl-yaml perl-crypt-cbc perl-gtk2-unique perl-socket6 uuid
так что просто замените библиотеки на те, которые вам дал pacman
:
yaourt -S --asdeps gscan2pdf perl-filesys-df perl-config-general perl-data-uuid perl-goo-canvas perl-gtk2-ex-simple-list perl-gtk2-imageview perl-pdf-api2 perl-sane perl-set-intspan
Обновление 2018, дополнительное
Обновление perl 5.28
в Arch означает, что вам нужно заново собрать все неподдерживаемые пакеты. Решение для исправления ошибок зависимостей состоит в том, чтобы удалить нарушающее приложение AUR perl
, а затем удалить потерянные perl
библиотеки и обновить систему :
sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Syu
Наконец, переустановите приложение AUR perl
.
Обновление 2019, дополнительное
С обновлением perl 5.30.0
pacman
теперь выдает предупреждения о старых perl
библиотеках. На этот раз у меня было большое обновление, и мне нужно было сделать следующее:
sudo pacman -R $conflicting_perl_mod_&_app
sudo pacman -Syu
# pacman now generates a warning for unused perl libs
pacman -R $(pacman -Qqo '/usr/lib/perl5/5.28')
pacman -S $perl_app
# optional remove orphaned packages
sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Syu
Использование табуляции в качестве разделителя полей вывода будет работать с любым awk в любой оболочке на каждом компьютере UNIX:
$ cat tst.awk
BEGIN { OFS="\t"; }
FNR==1 { fileNr++ }
{
key = $1 OFS $2
if (NR == FNR) {
keys[++numKeys] = key
}
else {
sub(/([^[:space:]]+[[:space:]]+){2}/,"")
$1 = $1
vals[key,fileNr] = $0
}
}
END {
for (keyNr=1; keyNr<=numKeys; keyNr++) {
key = keys[keyNr]
printf "%s", key
for (fileNr=2; fileNr<ARGC; fileNr++) {
printf "%s%s", OFS, vals[key,fileNr]
}
print ""
}
}
.
$ awk -f tst.awk file1 file2 file3 file4
NW_1234 23 C 0:0:32:0:0:0 42:0:0:0:0:0 DOCK intron_region
NW_1234 29 C 0:0:28:0:0:0 0:28:0:0:0:0 DOCK intron_region
NW_1234 778 C 0:54:0:0:0:0 0:0:53:0:0:0 DOCK intron_region
NW_456 44 G 0:0:0:45:0:0 59:0:0:0:0:0 intergenic
NW_987 75 G 0:0:0:60:0:0 55:0:0:0:0:0 intergenic
NW_987 98 C 0:0:63:0:0:0 0:42:0:0:0:0 TFEC intron_region
NW_5000 105 G 0:0:71:0:0:0 0:50:0:0:0:0 MIN intron_region
NW_5500 37 G 0:0:0:54:0:0 55:0:0:0:0:0 LIPG intron_region
NW_5500 900 A 43:0:0:0:0:0 0:0:0:37:0:0 MYC intron_region
Чтобы пробелы были пустыми, (гораздо менее полезно для дальнейшего синтаксического анализа инструмента )просто направьте кcolumn
:
$ awk -f tst.awk file1 file2 file3 file4 | column -s$'\t' -t
NW_1234 23 C 0:0:32:0:0:0 42:0:0:0:0:0 DOCK intron_region
NW_1234 29 C 0:0:28:0:0:0 0:28:0:0:0:0 DOCK intron_region
NW_1234 778 C 0:54:0:0:0:0 0:0:53:0:0:0 DOCK intron_region
NW_456 44 G 0:0:0:45:0:0 59:0:0:0:0:0 intergenic
NW_987 75 G 0:0:0:60:0:0 55:0:0:0:0:0 intergenic
NW_987 98 C 0:0:63:0:0:0 0:42:0:0:0:0 TFEC intron_region
NW_5000 105 G 0:0:71:0:0:0 0:50:0:0:0:0 MIN intron_region
NW_5500 37 G 0:0:0:54:0:0 55:0:0:0:0:0 LIPG intron_region
NW_5500 900 A 43:0:0:0:0:0 0:0:0:37:0:0 MYC intron_region