Параметр pacman для поиска пакетов, которым принадлежит файл

push () { date "+%F/push/$1" >> /tmp/pushlog.txt; }

Это определяет функцию оболочки, которая добавляет строку в файл /tmp/pushlog.txt.

Строка формата, используемая с date, включает первый аргумент командной строки функции оболочки.

bash-4.4$ push 123
bash-4.4$ push "hello world"
bash-4.4$ push "%s"
bash-4.4$
bash-4.4$ cat /tmp/pushlog.txt
2017-08-29/push/123
2017-08-29/push/hello world
2017-08-29/push/1504041277

Если вы планируете использовать pushдля передачи строк, которые могут быть интерпретированы date(, как в последнем примере ), и если это не то, что вам нужно, используйте вместо этого:

push () { printf '%s/push/%s\n' "$(date '+%F')" "$1" >> /tmp/pushlog.txt; }

Причина, по которой вы получаете нежелательную новую строку в вашем файле, заключается в том, что dateвыводит новую строку в конце своего вывода. Эта новая строка удаляется при использовании dateв $(...), как я сделал во второй реализации моей функции оболочки выше.

0
02.08.2019, 17:33
1 ответ

Это pacman -Qo <filename>.

Пример

% pacman -Qo x86_64-pc-linux-gnu-pkg-config
/usr/bin/x86_64-pc-linux-gnu-pkg-config is owned by pkgconf 1.6.3-1

От pacman (8):

Query Options (apply to -Q)

-o, --owns <file>

Search for packages that own the specified file(s). The path can be relative or absolute, and one or more files can be specified.

8
28.01.2020, 02:18

Теги

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