|
- #!/bin/bash
- if [[ "$1" == '--help' || "$1" == '-h' ]]
- then
- echo "Usage: parent-urls [--with-original]" >&2
- echo "Take URLs on stdin, remove path components one by one and print the resulting URLs on stdout." >&2
- echo "If --with-original is given, the input URL is printed before the parents." >&2
- fi
-
- prog0='BEGIN { FS="/"; OFS="/" }' # Set the field separators
- prog1='{ print }' # Print the input URL (if desired)
- prog2='/\/$/ { --NF }' # Remove the trailing blank field if the URL ends with a slash
- prog3='{ for (i = NF; i > 3; --i) { --NF; print $0 OFS; } }' # One by one, remove the last path component, print remaining fields
-
- prog="${prog0} "
- if [[ "$1" == '--with-original' ]]
- then
- prog="${prog}${prog1} "
- fi
- prog="${prog}${prog2} ${prog3}"
-
- exec awk "${prog}"
|