У меня есть путь к папке, который выглядит так:
"/Volumes/Macintosh\ HD\ 1/Users/mike"
Я хотел бы распечатать только первые два столбца с косой чертой и опустить все, что за этим:
"/Volumes/Macintosh\ HD\ 1/"
Я могу распечатать первые два столбца с помощью awk, но он удаляет символы "/".
Использование кавычек и обратной косой черты излишне, просто используйте кавычки:
$ path = "/Volumes/Macintosh HD 1/Users/mike"
$ grandparent = "$(dirname "$(dirname "$path")")"
$ echo "$grandparent"
/Volumes/Macintosh HD 1
Вы можете использовать cut
:
echo "$path" | cut -d/ -f1-3
почему не
awk '{sub(/Users.*$/,"",$0);print}' file
. Удачи.