Ubuntu – Remove all text before last space in text file from CLI

command lineregexsed

I want to remove everything before the last space in a text file from the CLI

Example text:

2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar

The string that should remain is dump-2015-03-02-21-34.tar

Best Answer

There's a lot of choice using the command line:

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | cut -c32-
dump-2015-03-02-21-34.tar

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | sed 's/.* //'
dump-2015-03-02-21-34.tar

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | grep -oP "\S+$"
dump-2015-03-02-21-34.tar

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | awk {'print $NF'}
dump-2015-03-02-21-34.tar

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | perl -pe 's/.* //'
dump-2015-03-02-21-34.tar

$ echo "2015-03-02 21:34:15      20480 dump-2015-03-02-21-34.tar" | rev | cut -d ' ' -f 1 | rev
dump-2015-03-02-21-34.tar