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
в $(...)
, как я сделал во второй реализации моей функции оболочки выше.
Это 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.