Without using sed or awk, only cut, how do I get the last field when the number of fields are unknown or change with every line?
You can use the cut command just as awk command to extract the fields in a file using a delimiter.
“awk” is a very powerful Linux command that can be used with other commands as well as with other variables. This command is essentially used to read the content of a file.
You could try something like this:
echo 'maps.google.com' | rev | cut -d'.' -f 1 | rev Explanation
rev reverses "maps.google.com" to be moc.elgoog.spam cut uses dot (ie '.') as the delimiter, and chooses the first field, which is moc com Use a parameter expansion. This is much more efficient than any kind of external command, cut (or grep) included.
data=foo,bar,baz,qux last=${data##*,} See BashFAQ #100 for an introduction to native string manipulation in bash.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With