How to cut the last field from a shell string How to cut the last field from a shell string shell shell

How to cut the last field from a shell string


For what it's worth, a cut-based solution:

NEW_LINE="`echo "$LINE" | rev | cut -d/ -f2- | rev`/"


I think you could use the "dirname" command. It takes in input a file path, removes the filename part and returns the path. For example:

$ dirname "/string/to/cut.txt"/string/to


This will work in modern Bourne versions such as Dash, BusyBox ash, etc., as well as descendents such as Bash, Korn shell and Z shell.

LINE="/string/to/cut.txt"LINE=${LINE%/*}

or to keep the final slash:

LINE=${LINE%/*}/