Вы можете попробовать следующее:
cat text.tx | sort | uniq -c -w11 | fgrep '1 /' | awk '{print $2" "$3}'
с вашим text.txt как это
]#cat text.txt
/path/foo/1 footsy
/path/foo/1 barsy
/path/foo/X barsy
/path/bar/2 footsy
/path/bar/2 barsy
/path/foo/Y footsy
В соответствии со спецификациями Desktop Entry:
%k The location of the desktop file as either a URI (if for example gotten from the vfolder system) or a local filename or empty if no location is known.
Что не очевидно из вашего примера на первый взгляд, так это то, чтоsh -c '...'
(если это POSIX /bin/sh
и не имеет символической ссылки на csh)устанавливает позиционные аргументы, начиная с $0
, что означает, что $0
будет тем, что есть %k
.