2012-02-23 3 views
1

Как я могу получить путь к файлу, который присутствует в одной из подпапок моей домашней папки?Путь файла из домашней папки

Например, для файла /Users/Me/Foo/Bar/baz Я хотел бы иметь ~/Foo/Bar/baz

+0

тильды '~' расширяется до $ HOME, '/ Users/Me/Foo/бар/baz' и' ~/Foo/Bar/baz' эквивалентны. – Emil

+0

Невозможно ли получить результат на stdout? –

+0

Итак, вы хотите предотвратить распространение тильды? – Emil

ответ

2

Ls работает, если данный путь. Итак, для baz, ls $PWD/baz должен дать полный путь. Если вам нужно заменить/Users/Me с ~, вы можете использовать СЭД:

ls $PWD/baz | sed "s_`ls -d ~|tr -d '\n'`_~_" 
+0

Thx это работает !! –

+0

Btw, как бы вы сохранили результат этого в переменной bash? –

+0

Чтобы избежать выхода из обратного хода, используйте $(): myvar = $ (ls $ PWD/baz | sed "s_'ls -d ~ | tr -d '\ n''_ ~ _") – ABS

Смежные вопросы