Как комментирует Кусалананда, вы можете просто манипулировать строками:
awk -F'|' -v OFS='|' '
function format_date(d) { return substr(d,1,4) "/" substr(d,5,2) "/" substr(d,7) }
{ for (i = 7; i <= 9; i++) $i = format_date($i); print }
' file
Я не одобряю такое поведение. Этот метод предназначен только для академических целей. Всегда устанавливайте пакеты через pacman, если это возможно.
Пакет в Arch Linux состоит из нескольких файлов (, не всегда ), и файла PKGBUILD
. Соответствующее изменение PKGBUILD
может позволить использовать другой путь установки.
Чтобы найти PKGBUILD
, перейдите на веб-сайт Arch Linux , найдите свой пакет и в верхнем левом углу в разделе Действия с пакетами Нажмите «Исходные файлы».
Таким образом, «самый чистый» способ сделать это — это то, что @Rayleigh предложил :отредактировать PKGBUILD
рассматриваемого пакета и отредактировать его, чтобы установить его файлы в /opt
, а не где-нибудь еще.
Этот процесс отличается для каждого пакета, поэтому, не зная, какие именно пакеты вы просматриваете, я не могу дать вам более конкретного совета, кроме как просмотреть документацию PKGBUILDи убедиться, что код, который вы Вы хотите редактировать, вероятно, в разделе package()
.
После того, как вы успешно отредактировали рассматриваемый файл PKGBUILD, вы можете затем создать из него пакет, используяmakepkg
(doc ), а затем продолжить установку этих пакетов, как обычно в pacman
.
Если вы не хотите выполнять эти шаги, вы также можете отредактировать сами файлы пакета, поскольку они представляют собой просто tar-архивы, содержащие файлы для установки и некоторые дополнительные файлы метаданных. Для этого вы можете обновить архив, переименовав все каталоги верхнего уровня в opt
. Вам также потребуется обновить файл.MTREE с помощью bsdtar --format=mtree
.
Затем вы можете установить отредактированный пакет, как обычно, используя pacman
.
Обратите внимание, что оба метода потребуются для каждого обновления, поэтому требуется много работы для чего-то, что противоречит рекомендациям по упаковке Arch Linux.
Если вы сообщите нам, какие пакеты вы имеете в виду и почему вы хотите этого добиться, я могу дать более конкретный и, возможно, более полезный совет.