Никакая потребность в подпроцессе, это может быть сделано в чистой оболочке удара:
var=$(while read line; do echo -n ",('$line','$line')"; done < file)
var=${var:1}
Обновление:
Если Вы хотите это как остроту, Вы могли:
var=$({ read line && echo -n "('$line','$line')" && while read line; do echo -n ",('$line','$line')"; done } < file)
Отметьте &&
работать echo
и while
только это файл непусто.
Я просто искал ту же самую вещь. При использовании eix Вы находитесь в удаче. От Wiki:
Добавление оверлейных программ к кэшу
Для поиска не только в дереве перевозки, но и всех оверлейных программах добавьте оверлейные программы к кэшу
root # eix-remote update
и затем синхронизируйте все это:
root # eix-sync
(пример от моей системы)
mordjah@Ananke /mnt/Dev/nuvola-player $ eix nuvola
* x11-themes/nuvola
Available versions: 1.0-r1^bs
Homepage: http://www.kde-look.org/content/show.php?content=5358
Description: Nuvola SVG icon theme
Хм это не похоже на аудиоплеер Google... время для добавления еще некоторых источников:
mordjah@Ananke /mnt/Dev/nuvola-player $ eix-remote update
<snip>
Saving to: 'eix-cache.tbz2'
* Unpacking data
layman/Armageddon -> Armageddon
layman/AstroFloyd -> AstroFloyd
layman/AzP -> AzP
<snip>
похож приблизительно на 500 источников :)
mordjah@Ananke /mnt/Dev/nuvola-player $ eix-sync -q
теперь, когда поиск, если Вы хотите развернуть свой поиск, добавляет-R (удаленный) для поиска всех оверлейных программ, установленных или нет. Вы захотите синхронизировать его с eix-удаленным время от времени. Посмотрите man eix1
.
mordjah@Ananke /mnt/Dev/nuvola-player $ eix -R nuvola
* media-sound/nuvolaplayer
Available versions: (~)2.0.1[2] (~)2.0.3[1] {debug}
Homepage: https://launchpad.net/nuvola-player
Description: Cloud music integration for your Linux desktop
* x11-themes/nuvola
Available versions: 1.0-r1^bs
Homepage: http://www.kde-look.org/content/show.php?content=5358
Description: Nuvola SVG icon theme
[1] "sabayon" layman/sabayon
[2] "tante" layman/tante
Я не думаю, что существует автоматизированная система для поиска оверлейных программ определенным именем пакета. то, что можно сделать:
layman -L
для наблюдения доступных оверлейных программ и предположения на основе их имен, если у них есть пакет, Вы ищете.cave show <package-name>
который может показать репозиторий пакета, но он ищет только в оверлейных программах, уже добавленных к layman
AFAIK. Я буду ожидать 2 дня для принятия ответа.Спасибо.
– A.D.
22.02.2013, 19:21