Вы можете использовать GNU grep
:
$ grep -oP '/\K\d+(?=])' ticket
26727777
25709048
26716590
23995808
или sed
:
sed -E 's#.*/([0-9]*).*#\1#g' ticket
26727777
25709048
26716590
23995808
И то, и другое будет работайте над приведенным вами примером, но будут ли они работать с вашим настоящим файлом, будет зависеть от других строк в вашем файле. Они печатают все отрезки чисел после /
, а для grep
- перед ]
. Если у вас есть другие строки, соответствующие этим критериям, вам нужно будет показать нам свой файл полностью.
Если у вас стандартный дистрибутив, у вас будет мало жестких ссылок, так что вам, как правило, не стоит особо беспокоиться. / bin
, sbin
, / lib / modules
и / usr
содержат множество жестких ссылок, поэтому, если вы поддерживаете их вы можете использовать параметр -H. Каталоги резервных копий также могут содержать жесткие ссылки. В противном случае у вас не должно быть жестких ссылок, если вы не создадите их самостоятельно.
Чтобы найти каталоги с жестко связанными файлами, попробуйте команду (замените /
другими точками монтирования, если необходимо):
sudo find / -xdev ! -links 1 ! -type d | xargs -n 1 dirname | sort -u